ArrayAdapter怎么自定义
时间: 2023-06-19 17:10:09 浏览: 128
ArrayAdapter是Android中常用的适配器之一,用于将一个数组或List中的数据展示到界面上。如果想要自定义ArrayAdapter,可以按照以下步骤进行:
1. 创建一个类继承自ArrayAdapter,例如:
```
public class MyAdapter extends ArrayAdapter<String> {
private Context mContext;
private int mResource;
private List<String> mDatas;
public MyAdapter(Context context, int resource, List<String> datas) {
super(context, resource, datas);
mContext = context;
mResource = resource;
mDatas = datas;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// 自定义getView方法
return super.getView(position, convertView, parent);
}
}
```
2. 在自定义的MyAdapter类中重写getView方法,该方法用于设置ListView或GridView中每一项的布局和数据。可以根据自己的需求进行布局和数据的设置。
例如:
```
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view;
ViewHolder holder;
if (convertView == null) {
view = LayoutInflater.from(mContext).inflate(mResource, parent, false);
holder = new ViewHolder();
holder.textView = (TextView) view.findViewById(R.id.text_view);
view.setTag(holder);
} else {
view = convertView;
holder = (ViewHolder) view.getTag();
}
String data = mDatas.get(position);
holder.textView.setText(data);
return view;
}
static class ViewHolder {
TextView textView;
}
```
3. 在布局文件中设置ListView或GridView的适配器为自定义的MyAdapter。
例如:
```
ListView listView = findViewById(R.id.list_view);
List<String> datas = new ArrayList<>();
datas.add("data1");
datas.add("data2");
MyAdapter adapter = new MyAdapter(this, R.layout.item_layout, datas);
listView.setAdapter(adapter);
```
以上就是自定义ArrayAdapter的基本步骤,可以根据实际需求进行修改和扩展。
阅读全文