2013-02-12 17 views
6

मुझे अनुरोध फोकस के साथ समस्या मिली।EditText अनुरोध फोकस()?

सबसे पहले, यह मेरा स्रोत कोड है:

<EditText 
    android:id="@+id/etGLNum2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_centerVertical="true" 
    android:layout_toLeftOf="@+id/btGLCalculate" 
    android:ems="10" 
    android:hint="@string/gl_num2_hint" 
    android:inputType="number" /> 

<EditText 
    android:id="@+id/etGLNum1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/etGLNum2" 
    android:layout_alignParentLeft="true" 
    android:layout_toLeftOf="@+id/btGLCalculate" 
    android:ems="10" 
    android:hint="@string/gl_num1_hint" 
    android:inputType="number"> 

    <requestFocus /> 
</EditText> 

<TextView 
    android:id="@+id/tvGLResult" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/etGLNum2" 
    android:gravity="center" 
    android:text="@string/result" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

<Button 
    android:id="@+id/btGLCalculate" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/tvGLResult" 
    android:layout_alignParentRight="true" 
    android:layout_alignTop="@+id/etGLNum1" 
    android:text="@string/calculate" /> 

जैसा कि आप देख, ध्यान etGLNum1 जाना है, लेकिन यह हमेशा etGLNum2 को जाता है।

मैंने पहले से ही अपनी जावा फ़ाइल से etGLNum1.requestFocus(); जोड़ने की कोशिश की लेकिन यह काम नहीं किया।

मुझे क्या करना चाहिए?

धन्यवाद :)

उत्तर

0

सिर्फ एक्सएमएल जोड़ने सभी editexts:

<EditText 
    android:id="@+id/editText1" 
    android:layout_width="0dip" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:ems="10" 
    android:hint="@string/gl_num2_hint" 
    android:inputType="number" > 
    <requestFocus /> 
</EditText> 
+0

अभी भी :( –

2

अपने Edittext में requestFocus जोड़ें।

<EditText 
    android:id="@+id/etGLNum2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_centerVertical="true" 
    android:layout_toLeftOf="@+id/btGLCalculate" 
    android:ems="10" 
    android:hint="@string/gl_num2_hint" 
    android:inputType="number"> 
    <requestFocus /> 
</EditText> 
+2

काम नहीं कर अभी भी काम नहीं :( –

1
try this :- 
etGLNum2.setOnFocusChangeListener(new OnFocusChangeListener() {  
     @Override 
     public void onFocusChange(View rv, boolean hasFocus) { 

         etGLNum2.clearFocus(); 
        etGLNum1.requestFocus(); 



     } 
     } 
    }); 
0

अपने onCreate() लिखने में:

EditText etGLNum1 = (EditText)findViewById(R.id.etGLNum1); 
etGLNum1.requestFocus(); 
etGLNum1.setOnFocusChangeListener(new OnFocusChangeListener() { 

    @Override 
    public void onFocusChange(View v, boolean hasFocus) 
    { 
     //enter code here 
    } 
}); 
0
मैं क्या अनुभव किया है है, एंड्रॉयड वर्तमान सतह में पाया पहला फ़ोकस करने योग्य तत्व को ध्यान देने की आ डिफ़ॉल्ट व्यवहार है साथ

(यदि हम फोकस करने योग्य करने के लिए कोई डिफ़ॉल्ट तत्व सेट नहीं किया है)।
आप etGLNum1.setFocusable(true) उपयोग कर सकते हैं (इससे पहले कि setContentView() कॉल) तो etGLNum1.requestFocus() (के बाद setContentView() कॉल) से अपने OnCreate() ..
यह काम करना चाहिए ..