我正在考虑编写一个自定义适配器来填充每行 3 个文本视图的列表视图。我找到了相当多的示例代码来执行此操作,但似乎最好的一个位于: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;
}
}
所以我尝试了获取充气机的注释方法,以及当前未注释的方法。我尝试将“父级”传递给 inflate 和 null,并传递“true”、“false”并完全省略最后一个参数。他们都没有奏效,到目前为止我发现的所有例子都是2008年的,我觉得有点过时了。
如果有人可以帮助解决这个问题,那么我很乐意解决这个问题。