मैं स्क्रीन पर प्रदर्शित निम्न चीज़ें हैं:एंड्रॉयड - स्पिनर चयन के बाद EditText पर ध्यान केंद्रित करने के लिए सेट
EditText Forename
Spinner gender selection (Male | Female)
EditText Email
जब आवेदन पहली शुरू की है, मैं चाहता हूँ फोकस पूर्व नाम EditText पर स्थापित किया जाना। फिर स्पिनर में "पुरुष" या "महिला" का चयन किया गया है, मैं स्पिनर के नीचे स्थित ईमेल एडिटटेक्स्ट पर फ़ोकस सेट करना चाहता हूं।
मैं setOnItemSelectedListener
का इस्तेमाल किया है ईमेल EditText पर requestFocus
स्थापित करने के लिए है, लेकिन समस्या यह है कि यह स्वचालित रूप से ध्यान केंद्रित पर इस EditText जब भी मैं आवेदन शुरू सेट है। ऐसा इसलिए होता है क्योंकि डिफ़ॉल्ट रूप से स्पिनर पहला चयन प्रदर्शित करता है जो इस मामले में "पुरुष" है और इसलिए यह सोचता है कि एक चयन पहले से ही किया जा चुका है और ईमेल फ़ील्ड पर फ़ोकस सेट करता है।
मैं पहली बार चयन कोई आपत्ति नहीं है पहले से ही डिफ़ॉल्ट रूप से स्पिनर में चयन किया जाना लेकिन अगर मैं किसी भी तरह रद्द कर सकते थे requestFocus
पूर्व नाम EditText पर स्थापित किया जाना शुरू में है कि बहुत अच्छा होगा।
एक्सएमएल:
<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>
गतिविधि वर्ग:
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) {
}
});
}
एकदम सही है कि हो जाएगा! आपकी मदद के लिए धन्यवाद, StinePike – Alex
और आपका स्वागत है :) – stinepike
क्या यह वास्तव में 'onItemSlected' को संभालने का एंड्रॉइड तरीका है? मैं चुने गए आइटमों के साथ एक गतिविधि कैसे शुरू कर सकता हूं? –