Я собираюсь написать собственный адаптер для заполнения списка с тремя текстовыми представлениями на строку. Я нашел довольно много примеров кода для этого, но тот, который мне показался лучшим, был по адресу: http://www.anddev.org/custom_widget_adapters-t1796.html
После нескольких незначительных изменений, направленных на исправление некоторых проблем с компилятором с последним Android SDK, я запустил его только для того, чтобы получить исключение:
ОШИБКА / 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 году, и я чувствую, что они немного устарели.
Если бы кто-нибудь мог помочь с этим, я бы с удовольствием решил проблему.