每次调用时,setListAdapter()
您都在用新的适配器完全替换 ListView 的适配器(以及内容)。
要创建以更复杂的方式显示内容的自定义 ListView(例如,不仅仅是文本或使用更复杂的数据模型),您需要创建自己的BaseAdapter
.
除了 之外BaseAdapter
,您还需要一个包含适当视图的布局文件,用于显示这两个项目的信息。
此场景的BaseAdapter
实现可能如下所示:
public class MyCustomAdapter extends BaseAdapter {
private String[] mFirstItems;
private String[] mSecondItems;
Context mContext;
public MyCustomAdapter(String[] firstItems, String[] secondItems, Context context) {
mFirstItems = firstItems;
mSecondItems = secondItems;
mContext = context;
}
// Other required overridden methods
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.id.my_row_layout, parent, false);
// TODO set layout content
return layout;
}
}