android 重写 Adapter
时间: 2023-07-22 14:37:23 浏览: 85
在 Android 中,我们通常使用 Adapter 来实现 ListView、GridView 等控件的数据绑定。重写 Adapter 的目的是为了实现自定义的数据绑定逻辑。
重写 Adapter 需要继承 BaseAdapter,然后实现以下方法:
1. getCount():获取数据源的总数。
2. getItem():获取指定位置的数据项。
3. getItemId():获取指定位置的数据项的 ID。
4. getView():获取指定位置的数据项的视图。
在实现 getView() 方法时,我们需要使用 LayoutInflater 来加载自定义的布局文件,并将数据绑定到布局中的控件上。例如:
```
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.my_list_item, null);
holder = new ViewHolder();
holder.title = (TextView) convertView.findViewById(R.id.title);
holder.content = (TextView) convertView.findViewById(R.id.content);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
MyData data = dataList.get(position);
holder.title.setText(data.getTitle());
holder.content.setText(data.getContent());
return convertView;
}
static class ViewHolder {
TextView title;
TextView content;
}
```
在上面的代码中,我们使用了 ViewHolder 模式来提高 ListView 的性能。同时,在 getView() 方法中,我们将 MyData 类型的数据绑定到了自定义的布局文件 my_list_item.xml 中的控件上。
阅读全文