listview结合适配器视频
时间: 2023-10-05 11:07:40 浏览: 88
ListView之适配器
以下是一个简单的示例,演示如何使用ListView和适配器:
1. 首先,在XML布局文件中添加ListView元素:
```xml
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
2. 然后,创建一个自定义的适配器类,继承自BaseAdapter,用于渲染ListView中的每一行数据项。
```java
public class MyAdapter extends BaseAdapter {
private Context mContext;
private List<String> mData;
public MyAdapter(Context context, List<String> data) {
mContext = context;
mData = data;
}
@Override
public int getCount() {
return mData.size();
}
@Override
public Object getItem(int position) {
return mData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(R.layout.list_item, parent, false);
holder = new ViewHolder();
holder.textView = convertView.findViewById(R.id.textview);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.textView.setText(mData.get(position));
return convertView;
}
private static class ViewHolder {
TextView textView;
}
}
```
在上面的示例代码中,我们创建了一个MyAdapter类,它接受一个Context对象和一个字符串列表作为构造函数参数。然后,我们实现了BaseAdapter的四个方法:
- getCount():返回数据项的数量。
- getItem():返回指定位置的数据项。
- getItemId():返回指定位置的数据项ID。
- getView():返回一个View对象,用于渲染指定位置的数据项。
在getView()方法中,我们使用LayoutInflater从list_item.xml布局文件中创建了一个新的View对象,并将其设置为ListView的一个子视图。然后,我们将ViewHolder对象与此视图关联,并设置TextView的文字内容。
3. 最后,在Activity中使用ListView和适配器来显示数据。
```java
public class MainActivity extends AppCompatActivity {
private ListView mListView;
private MyAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mListView = findViewById(R.id.listview);
List<String> data = new ArrayList<>();
data.add("Item 1");
data.add("Item 2");
data.add("Item 3");
mAdapter = new MyAdapter(this, data);
mListView.setAdapter(mAdapter);
}
}
```
在上面的示例代码中,我们获取ListView的实例,并使用一个字符串列表创建了一个MyAdapter对象。然后,我们将适配器设置为ListView的适配器。最终,在ListView中,您将看到名为“Item 1”、“Item 2”和“Item 3”的三个项目。
希望这个简单的示例可以帮助你理解ListView和适配器的基本用法。
阅读全文