来一段android 的adapter 代码
时间: 2023-09-15 07:05:47 浏览: 73
### 回答1:
public class ExampleAdapter extends RecyclerView.Adapter<ExampleAdapter.ExampleViewHolder> { private ArrayList<ExampleItem> mExampleList; public static class ExampleViewHolder extends RecyclerView.ViewHolder {
public ImageView mImageView;
public TextView mTextView; public ExampleViewHolder(View itemView) {
super(itemView);
mImageView = itemView.findViewById(R.id.imageView);
mTextView = itemView.findViewById(R.id.textView);
}
} public ExampleAdapter(ArrayList<ExampleItem> exampleList) {
mExampleList = exampleList;
} @Override
public ExampleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.example_item, parent, false);
ExampleViewHolder evh = new ExampleViewHolder(v);
return evh;
} @Override
public void onBindViewHolder(ExampleViewHolder holder, int position) {
ExampleItem currentItem = mExampleList.get(position); holder.mImageView.setImageResource(currentItem.getImageResource());
holder.mTextView.setText(currentItem.getText());
} @Override
public int getItemCount() {
return mExampleList.size();
}
}
### 回答2:
当我们在开发Android应用程序时,经常需要使用Adapter来展示列表或者是RecyclerView中的数据。下面是一个简单的示例代码:
```java
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<String> mDataList;
// 构造函数,用于初始化数据
public MyAdapter(List<String> dataList) {
this.mDataList = dataList;
}
// 创建ViewHolder,用于绑定列表项的视图
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_layout, parent, false);
return new ViewHolder(view);
}
// 绑定ViewHolder,用于设置列表项的数据
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
String data = mDataList.get(position);
holder.mTextView.setText(data);
}
// 返回数据项的数量
@Override
public int getItemCount() {
return mDataList.size();
}
// 定义ViewHolder,用于缓存列表项的视图
public static class ViewHolder extends RecyclerView.ViewHolder {
private TextView mTextView;
public ViewHolder(View itemView) {
super(itemView);
mTextView = itemView.findViewById(R.id.tv_item);
}
}
}
```
上述代码定义了一个名为MyAdapter的RecyclerView的适配器。其中,我们需要通过传入一个数据列表来初始化适配器。在onCreateViewHolder方法中,我们通过inflate方法将列表项的布局文件item_layout实例化为一个View,并将其传给ViewHolder进行缓存。在onBindViewHolder方法中,我们通过数据列表和位置参数获取对应位置的数据,并将其设置到ViewHolder中的TextView上。最后,在getItemCount方法中,我们返回数据列表的长度作为列表项的数量。以上就是一个简单的Android Adapter的代码示例。
### 回答3:
当你需要在Android应用程序中显示数据列表时,你通常会使用适配器(adapter)。适配器是将数据对应到UI视图的桥梁,它负责管理数据和视图之间的交互。下面是一个简单的Android适配器代码示例:
```java
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<String> data;
public MyAdapter(List<String> data) {
this.data = data;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
String item = data.get(position);
holder.textView.setText(item);
}
@Override
public int getItemCount() {
return data.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView textView;
public ViewHolder(View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.text_view);
}
}
}
```
在这个示例中,我们创建了一个自定义适配器`MyAdapter`继承自`RecyclerView.Adapter`。在构造方法中,我们将数据列表传入适配器。`onCreateViewHolder`方法负责创建每个列表项的视图,并将其加载到`ViewHolder`中。`onBindViewHolder`方法用于将数据绑定到相应的视图上,以在屏幕上显示。最后,`getItemCount`方法返回数据列表的项数。我们还创建一个内部类`ViewHolder`,它持有每个列表项的视图的引用,以便可以在需要时访问和修改其内容。
希望这个示例能够帮助你理解如何使用适配器在Android应用程序中显示数据列表。