मैं एक स्पिनर नियंत्रण पर वस्तुओं का प्रतिनिधित्व करने के लिए एक कस्टम ArrayAdapter नहीं चुना जाता है, मैं अपने आइटम सूची लोड कर सकते हैं और चयन के लिए यह दिखाने के लिए, लेकिन जब वास्तविक चयन होता स्पिनर कुछ भी नहीं पता चलता है।स्पिनर प्रदर्शित आइटम
अभ्यास कोड:
public MetroData metroData;
private Spinner spinner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
metroData = new MetroData();
spinner = (Spinner) findViewById(R.id.spinner1);
StopArrayAdapter dAdapter = new StopArrayAdapter(this, metroData.Stops);
spinner.setAdapter(dAdapter);
}
StopArrayAdapter:
public class StopArrayAdapter extends ArrayAdapter<MetroStop> {
private List<MetroStop> items;
private Activity activity;
public StopArrayAdapter(Activity activity, List<MetroStop> items) {
super(activity, android.R.layout.simple_list_item_1, items);
this.items = items;
this.activity = activity;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
TextView v = (TextView) super.getView(position, convertView, parent);
if (v == null) {
v = new TextView(activity);
}
v.setTextColor(Color.BLACK);
v.setText(items.get(position).getName());
return v;
}
@Override
public MetroStop getItem(int position) {
return items.get(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater inflater = activity.getLayoutInflater();
v = inflater.inflate(R.layout.view_spinner_item, null);
}
TextView lbl = (TextView) v.findViewById(R.id.text1);
lbl.setTextColor(Color.BLACK);
lbl.setText(items.get(position).getName());
return convertView;
}
}
स्पिनर दृश्य आइटम टेम्पलेट:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#222"/>
क्यों चयनित आइटम दृश्य काम नहीं करता है पर कोई भी विचार? बीटीडब्ल्यू, मैंने एक ही परिणाम के साथ एक सामान्य ArrayAdapter के साथ भी कोशिश की है।
अद्यतन लगता है कि दृश्य उत्पन्न होता है लेकिन पदानुक्रम दर्शक को देखते हुए, दृश्य प्रस्तुत नहीं किया जा रहा है, माप/लेआउट/ड्रा = एन/ए।
टेक्स्ट के लिए जाँच करें – Krish
नहीं, टेक्स्ट रंग का चयनित आइटम दृश्य के लिए कोई प्रभाव नहीं पड़ता है, मैंने दोनों के साथ या बिना प्रयास किया है। – Andres