मेरे पास एक संपादन टेक्स्ट, एक बटन और एक स्पिनर था। बटन पर क्लिक करते समय, स्पिनर आपके द्वारा संपादित टेक्स्ट में दर्ज नाम के साथ एक नया आइटम जोड़ देगा।स्पिनर के ऐरे एडाप्टर में आइटम कैसे जोड़ें?
public class Spr extends Activity {
Button bt1;
EditText et;
ArrayAdapter<CharSequence> adapter;
Spinner spinner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bt1 = (Button)this.findViewById(R.id.bt1);
et = (EditText)this.findViewById(R.id.et);
spinner = (Spinner)this.findViewById(R.id.spr);
adapter = ArrayAdapter.createFromResource(
this, R.array.planets_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String temp = et.getText().toString();
adapter.add(temp);
adapter.notifyDataSetChanged();
spinner.setAdapter(adapter);
}
});
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
Toast.makeText(parent.getContext(), "The planet is " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}});
}
}
धन्यवाद: लेकिन यहां सवाल यह है कि, मेरे adapter.add() विधि लगता है काम नहीं करता है ... यहाँ मेरी कोड है! ... अभी भी
आप निश्चित रूप से डॉन ' t को फिर से अपने View.OnClickListener में spinner.setAdapter() को कॉल करने की आवश्यकता है। आपका कोड लगता है कि यह काम करना चाहिए, हालांकि। – synic
आपको 'NotifyDataSetChanged() 'को कॉल करने की आवश्यकता नहीं है। बस 'adapter.add()' पर्याप्त होना चाहिए। जब आप कहते हैं "काम नहीं करता", तो आपका क्या मतलब है? – CommonsWare
मैं जवाब seached, और कोई मुझसे कहता है, फोन notifyDataSetChanged() और setAdapter() फिर से हो सकता है help.so मैं इसे जोड़ने के लिए, लेकिन यह अभी भी काम नहीं करता है ... जब मैं इसे चलाने के लिए, और बटन .it क्लिक करें एक त्रुटि को उछाल देगा: एप्लिकेशन ने उम्मीदपूर्वक बंद कर दिया है। कृपया पुनः प्रयास करें ... (मुझे लगता है कि समस्या spinner.add() पर है।) आपकी मदद के लिए धन्यवाद! – allen