2010-07-13 28 views
66

क्या एक बटन विजेट पर फ़ोकस सेट करना संभव है जो मेरे लेआउट में कहीं नीचे स्थित है? गतिविधि के onCreate मेरे नियंत्रण/फोकस उस बटन पर प्रोग्रामेटिक रूप से होना चाहिए।प्रोग्राम बटन पर प्रोग्राम बटन पर फ़ोकस कैसे सेट करें?

उत्तर

156

हाँ यह संभव है।

Button myBtn = (Button)findViewById(R.id.myButtonId); 
myBtn.requestFocus(); 

या XML में

<Button ...><requestFocus /></Button> 

महत्वपूर्ण नोट: बटन विजेट की जरूरत है focusableऔरfocusableInTouchMode किया जाना है। अधिकांश विजेट focusable हैं लेकिन डिफ़ॉल्ट रूप से focusableInTouchMode नहीं हैं। तो या तो कोड

myBtn.setFocusableInTouchMode(true); 

या XML में में यह स्थापित करने के लिए

android:focusableInTouchMode="true" 
+0

मैं onCreate विधि में यह कोशिश कर लेकिन इसके काम नहीं कर सुनिश्चित करें। मैं गतिशील रूप से बटन बना रहा हूं और LinearLayout में बटन जोड़ रहा हूं। क्या कोई मेरी मदद कर सकता है? –

+5

यह मेरे लिए काम नहीं करता है। मेरे पास मेरे पृष्ठ में एक संपादन दृश्य है जो हमेशा ध्यान केंद्रित करता है। – breceivemail

+10

यह जवाब दुखद है कि जब यह नाममात्र "सही" होता है, तो यह उपेक्षा करने के लिए उपेक्षा करता है, यह उल्लेख करने के लिए उपेक्षा करता है कि सेटफोकसबल (सत्य) और संभावित रूप से सेट करने के लिए अक्सर आवश्यक होगा बटन के पहले फोकसबलइन टचमोड (सत्य) तरीके यह काम करेगा। हालांकि इन्हें एक्सएमएल से सेट किया जा सकता है, लेकिन अगर बटन को कभी भी ध्यान केंद्रित नहीं किया जाता है तो उन्हें रीसेट करना पड़ सकता है। –

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