mainActivity中,用recyclerView,simAdapter ,ViewHolderListener 写一个有十个列表项的点击事件代码,不用position
时间: 2024-02-25 19:51:14 浏览: 62
好的,以下是示例代码:
```
// 创建 Adapter 对象
SimAdapter adapter = new SimAdapter(items);
// 设置 ViewHolderListener
adapter.setViewHolderListener(new SimAdapter.ViewHolderListener() {
@Override
public void onViewHolderClick(SimAdapter.ViewHolder holder) {
// 获取被点击的列表项的数据
String item = holder.getItem();
// 根据数据执行相应操作
switch (item) {
case "item1":
// 处理 item1 的点击事件
break;
case "item2":
// 处理 item2 的点击事件
break;
// ... 处理其他列表项的点击事件
}
}
});
// 创建 LayoutManager 对象
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
// 设置 LayoutManager 和 Adapter
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(adapter);
```
在这个示例中,我们先创建了一个 `SimAdapter` 对象,并将数据列表 `items` 传入构造函数。然后,我们通过 `setViewHolderListener` 方法设置了一个 `ViewHolderListener`,当列表项被点击时,`onViewHolderClick` 方法会被回调。在这个方法中,我们可以通过 `ViewHolder` 对象获取被点击的列表项的数据,然后根据数据执行相应的操作。
需要注意的是,这个示例中同样没有使用 `position` 参数,而是通过 `ViewHolder` 对象获取数据。这是因为 `position` 参数在某些情况下可能会不准确,而直接获取数据则更为准确可靠。同时,我们还创建了一个 `LayoutManager` 对象,并将其设置给 `RecyclerView`,作为其布局管理器。
阅读全文