Ben ekranda aşağıdaki öğeleri vardır: Uygulama ilk kez başlatıldığındaAndroid - Spinner seçiminden sonra EditText odak ayarlamak
EditText Forename
Spinner gender selection (Male | Female)
EditText Email
, ben odak Forename EditText ayarlanabilir istiyorum. Ardından Spinner, " " da "Erkek" veya "Dişi" seçildikten sonra, odağın, döndürücünün altında bulunan E-posta Düzenleme Metni'nde ayarlanmasını istiyorum.
Ben eposta EditText üzerinde requestFocus
ayarlamak için setOnItemSelectedListener
kullandık, ama sorun ben uygulamayı başlatmak takıldığında otomatik bu EditText odağı ayarlar olmasıdır. Bu, varsayılan olarak, spinner, bu durumda "Erkek" olan ilk seçimi gösterir ve bu nedenle, bir seçimin yapılmış olduğu ve Odak alanını E-posta alanına ayarladığı olduğunu düşünür.
İlk seçim umursamıyorum zaten varsayılan olarak bükücüsünde seçilecek ama bir şekilde requestFocus
Forename EditText üzerinde ayarlanması geçersiz eğer başlangıçta bu harika olurdu.
XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/ForenameForm"
android:layout_width="285dp"
android:layout_height="65dp"
android:hint="@string/forenameHint"
android:lines="1"
android:singleLine="true"
android:textSize="20sp" >
</EditText>
<Spinner
android:id="@+id/SpinnerGender"
android:spinnerMode="dialog"
android:textSize="30sp"
android:layout_width="285dp"
android:layout_height="60dp"
android:prompt="@string/spinnerGender"
android:entries="@array/genderList">
</Spinner>
<EditText
android:id="@+id/EmailForm"
android:layout_width="285dp"
android:layout_height="65dp"
android:hint="@string/emailHint"
android:lines="1"
android:singleLine="true"
android:textSize="20sp" >
</EditText>
</LinearLayout>
Etkinlik sınıfı: Bu nasıl çözüm hakkında
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText forename=(EditText)findViewById(R.id.ForenameForm);
forename.requestFocus();
final EditText email=(EditText)findViewById(R.id.EmailForm);
Spinner spinner=(Spinner)findViewById(R.id.SpinnerGender);
spinner.setFocusable(true);
spinner.setFocusableInTouchMode(true);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
email.requestFocus();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
}
gibi olacak! Yardımınız için teşekkür ederiz, StinePike – Alex
Ve bir şey değil :) – stinepike
Gerçekten gerçekten onItemSelected 'işleme Android yolu var mı? Seçilmeyen öğelerle nasıl etkinlik başlatabilirim? –