में लेआउटइनफ्लेटर का उपयोग करने में असमर्थ मैं प्रति पंक्ति 3 टेक्स्टव्यू के साथ एक सूचीदृश्य पॉप्युलेट करने के लिए एक कस्टम एडाप्टर लिखने में देख रहा हूं। मुझे ऐसा करने के लिए बहुत कुछ उदाहरण कोड मिला है, लेकिन सबसे अच्छा लग रहा था: http://www.anddev.org/custom_widget_adapters-t1796.htmlकस्टम एडाप्टर
नवीनतम एंड्रॉइड एसडीके के साथ कुछ कंपाइलर समस्याओं को ठीक करने के लिए कुछ मामूली बदलावों के बाद, मुझे यह चल रहा था, एकमात्र अपवाद प्राप्त करने के लिए:
त्रुटि/AndroidRuntime (281): java.lang.UnsupportedOperationException: addView (देखें, LayoutParams) AdapterView में समर्थित नहीं है
तो मैं अनुसंधान के एक बहुत कुछ किया है और इसके लिए कई संभावित कारण और फिक्सेस मिले। इनमें से कोई भी चीज़ बदल नहीं गई। मेरे एडाप्टर कोड वर्तमान में है:
public class WeatherAdapter extends BaseAdapter {
private Context context;
private List<Weather> weatherList;
public WeatherAdapter(Context context, int rowResID,
List<Weather> weatherList) {
this.context = context;
this.weatherList = weatherList;
}
public int getCount() {
return weatherList.size();
}
public Object getItem(int position) {
return weatherList.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
Weather weather = weatherList.get(position);
//LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.weather_row, null, true);
TextView cityControl = (TextView)v.findViewById(R.id.city);
TextView temperatureControl = (TextView)v.findViewById(R.id.temperature);
ImageView skyControl = (ImageView)v.findViewById(R.id.sky);
return v;
}
}
तो मैं inflater होने का रास्ता बाहर टिप्पणी की कोशिश की है, और वर्तमान में बाहर uncommented। मैंने "पैरेंट" को फुर्ती करने के साथ-साथ शून्य, और "सत्य", "झूठा" गुजरने और पूरी तरह से अंतिम पैरामीटर को छोड़ने का प्रयास किया है। उनमें से कोई भी काम नहीं कर पाया है, और अब तक जो भी उदाहरण मिले हैं, वे 2008 से हैं जो मुझे लगता है कि भावना थोड़ी पुरानी है।
यदि कोई इससे मदद कर सकता है तो मुझे इस मुद्दे को हल करना अच्छा लगेगा।
'एडाप्टर व्यू' का उपयोग करते समय आप अपने विचार माता-पिता से स्वतंत्र होना चाहते हैं, 'getView()' आपके लिए अभिभावक को अटैचमेंट करने का ख्याल रखता है। –
@AustynMahoney मैं नहीं कहूंगा कि 'getView()' इसका ख्याल रखता है क्योंकि ** आप ** इसे लिख रहे हैं, मैं कहूंगा ** जो भी 'getView() '** कहता है (दूसरे शब्दों में, ढांचा) ** ** getView() 'द्वारा लौटाए गए दृश्य को जोड़ने का ख्याल रखता है। – Joffrey