Я пытаюсь написать собственный адаптер, чтобы заполнить представление списка тремя текстовыми представлениями в строке.Я нашел довольно много примеров кода, чтобы сделать это, но тот, который казался лучшим, был по адресу: http://www.anddev.org/custom_widget_adapters-t1796.html
После нескольких небольших настроек, чтобы исправить некоторые проблемы компилятора с последним Android SDK, язапустил его, только чтобы получить исключение:
ERROR / AndroidRuntime (281): java.lang.UnsupportedOperationException: addView (View, 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;
}
}
Итак, я попробовал закомментированный способ получения инфлятора и текущий закомментированный.Я попытался передать «parent», чтобы завышать, а также null, и передать «true», «false» и полностью опустить последний параметр.Ни один из них не сработал, и все примеры, которые я нашел до сих пор, были с 2008 года, и я чувствую, что они немного устарели.
Если кто-то может помочь с этим, тогда я бы с удовольствием решил эту проблему.