2013-02-12 20 views
6

RequestFocus ile ilgili bir sorunum var.EditText requestFocus()?

Birincisi, bu benim kaynak kodu: Gördüğünüz gibi

<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" /> 

, odak etGLNum1 gitmek zorunda, ama her zaman etGLNum2 gider.

Zaten java dosyamdan etGLNum1.requestFocus(); eklemeyi denedim, ancak çalışmadı.

Ne yapmalıyım?

Teşekkür :)

cevap

0

sadece tüm editexts XML ekleyin:

<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

sizin Edittext içinde requestFocus ekleyin. senin onCreate() yazma olarak

<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

değil çalışmıyor –

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

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



     } 
     } 
    }); 
0

: i Android akım yüzeyinde bulunan ilk odaklanabilir elemana odağı verme aa varsayılan davranışı var olan yaşamış ne ile

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

(eğer biz Odaklanabilecek herhangi bir varsayılan öğe belirlemediniz).
Sen etGLNum1.setFocusable(true) kullanabilirsiniz (önce setContentView() çağrısı) sonra etGLNum1.requestFocus() (sonra setContentView() çağrısı) dan senin onCreate() ..
Bu çalışması gerekir ..

hala çalışıyor hala :(