一个基于 SimAdapter 和 ViewHolderListener 的 MainActivity 内部类的示例代码,实现了一个包含十个列表项的点击事件:,不用position
时间: 2024-02-24 22:57:55 浏览: 20
好的,以下是一个基于SimAdapter和ViewHolderListener的MainActivity内部类的示例代码,实现了一个包含十个列表项的点击事件,不使用position:
```
public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private SimAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
List<String> dataList = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
dataList.add("Item " + i);
}
adapter = new SimAdapter<String>(this, dataList, R.layout.item_list) {
@Override
public void convert(ViewHolder holder, String data) {
holder.setText(R.id.tv_title, data);
}
};
adapter.setViewHolderListener(new ViewHolderListener() {
@Override
public void onItemClick(View view, Object data) {
String itemData = (String) data;
Toast.makeText(MainActivity.this, "You clicked on " + itemData, Toast.LENGTH_SHORT).show();
}
});
recyclerView.setAdapter(adapter);
}
}
```
在这里,我们创建一个字符串类型的数据列表,包含十个项目。我们使用SimAdapter类来创建适配器,并为它设置一个ViewHolderListener,以便在列表项被单击时处理事件。在convert()方法中,我们将数据设置到视图的标题文本中。在ViewHolderListener的onItemClick()方法中,我们获取了被单击的列表项的数据并显示了一个Toast消息。这个示例代码中没有使用position。