<androidx.recyclerview.widget.RecyclerView android:id="@+id/TagList" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="5dp" android:layout_marginStart="4dp" android:layout_marginTop="4dp" app:layout_constraintTop_toTopOf="parent" />点击不同的item得到对应的数据
时间: 2024-03-06 08:46:46 浏览: 68
Android 用RecyclerView实现的流式布局,一款针对可拖动Tag的布局
5星 · 资源好评率100%
要实现点击RecyclerView中的不同项来获取对应的数据,您需要使用RecyclerView的OnItemClickListener接口。首先,您需要为RecyclerView设置一个Adapter,该Adapter将数据绑定到RecyclerView中的每个列表项。然后,您需要使用setOnItemClickListener()方法为RecyclerView设置一个单击监听器,该监听器将处理用户单击列表项时的事件。当用户单击某个列表项时,您可以使用getItemAtPosition()方法获取该项的数据,并执行相应的操作。以下是一个示例代码:
```
RecyclerView recyclerView = findViewById(R.id.TagList);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
//创建Adapter并绑定数据
MyAdapter adapter = new MyAdapter(dataList);
recyclerView.setAdapter(adapter);
//设置单击监听器
recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
@Override
public boolean onInterceptTouchEvent(@NonNull RecyclerView rv, @NonNull MotionEvent e) {
return false;
}
@Override
public void onTouchEvent(@NonNull RecyclerView rv, @NonNull MotionEvent e) {
View child = recyclerView.findChildViewUnder(e.getX(), e.getY());
if (child != null && e.getAction() == MotionEvent.ACTION_UP) {
int position = recyclerView.getChildAdapterPosition(child);
//获取对应的数据并执行相应的操作
Data data = dataList.get(position);
//TODO:执行操作
}
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
});
```
请注意,您需要将MyAdapter替换为您自己的适配器类,并将dataList替换为您自己的数据列表。
阅读全文