2010-06-25 9 views
18

मेरे पास तीन टैब के साथ एक टैबहोस्ट है। पहली टैब की सामग्री एक कस्टम गतिविधि का इरादा है, जो सामग्रीदृश्य है, एक सापेक्ष लेआउट है जिसमें दो एडिटटेक्स और दो चेकबॉक्स (और एक बटन) शामिल है।एंड्रॉइड: संपादन टेक्स्ट आगे सक्षम होने के बाद फोकस नहीं कर सकता

प्रत्येक चेकबॉक्स, चेक किए जाने पर, एक संपादन टेक्स्ट और अन्य चेकबॉक्स को सक्षम/अक्षम करता है। और मैं इसके बारे में इस तरह गया:

chkPolaziste.setOnCheckedChangeListener(new OnCheckedChangeListener() 
    { 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
     { 
      if (isChecked) 
      { 
       entryPolaziste.setFocusable(false); 
       entryPolaziste.setEnabled(false); 
       chkOdrediste.setFocusable(false); 
       chkOdrediste.setEnabled(false); 
      } 
      else 
      { 
       entryPolaziste.setEnabled(true); 
       entryPolaziste.setFocusable(true); 
       chkOdrediste.setEnabled(true); 
       chkOdrediste.setFocusable(true); 
      } 
     } 
    }); 

और यह काम करता है। जब एक चेकबॉक्स चेक किया जाता है, तो यह अन्य चेकबॉक्स और उसके संपादन टेक्स्ट को अक्षम करता है, और जब मैं इसे अनचेक करता हूं, तो संपादन टेक्स्ट और अन्य चेकबॉक्स सक्षम होते हैं। लेकिन, इसे सक्षम करने के बाद, मैं संपादन टेक्स्ट में कुछ भी टाइप नहीं कर सकता। यह सिर्फ एक पल के लिए flicks जब मैं उस पर क्लिक करें, और दूसरे दृश्य पर ध्यान केंद्रित स्विच। यह मुझे लगता है कि नियंत्रण पूरी तरह से सक्षम नहीं है।

मैंने अनुरोध फ़ोकस() के साथ पुन: सक्षम संपादन टेक्स्ट पर फ़ोकस करने की भी कोशिश की है, और फ़ोकसबलइन टचमोड() सेट करने का प्रयास किया है, लेकिन न तो काम किया है।

मेरे पास एंड्रॉइड डिवाइस नहीं है, इसलिए मैं केवल एमुलेटर में इसका परीक्षण करता हूं (न्यूनतम एसडीके 1.6 है)।

+0

महत्वपूर्ण नोट: यह व्यवहार केवल स्पर्श के लिए प्रकट होता है (जब मैं एडिटटेक्स्ट पर क्लिक करता हूं, लेकिन यह आमतौर पर ट्रैक बॉल के साथ काम करता है (यही कारण है कि मैंने सेट फोकसबलइन टचमोड विधि की कोशिश की है)। –

उत्तर

35

वर्कअराउंड:

उपयोग setFocusableInTouchMode और setFocusable, उन दोनों।

+0

धन्यवाद, यह मेरे लिए काम करता है। – TheRealKingK

+0

धन्यवाद - यह एक बड़ी मदद थी! (इस बारे में कोई विचार क्यों जरूरी है?) – HeavyE

+1

वाह, यह मुझे मैराथन डीबगिंग से बचाया –

संबंधित मुद्दे