-
在
RecyclerView.Adapter
中定义变量记录被点击位置private int mSelectedPosition; public void setSelectedPosition(int position) { mSelectedPosition = position; }
-
在RecyclerView的点击事件中设置点击位置
ItemClickSupport.addTo(rv).setOnItemClickListener(new ItemClickSupport.OnItemClickListener() { @Override public void onItemClicked(RecyclerView recyclerView, int position, View v) { mAdapter.setSelectedPosition(position); // 在Adapter中记录当前位置 mAdapter.notifyDataSetChanged(); mSelectedPosition = position; // 在当前上下文记录点击的位置 } });
-
在
RecyclerView.Adapter
中对记录的点击位置进行处理@Override public void onBindViewHolder(final ItemHolder holder, final int position) { ... ... if (mSelectedPosition != position) { // 设置当前被点击位置的条目控件效果等 holder... } else { holder... } }
RecyclerView在条目点击中传点击位置给Adapter
于 2018-04-04 17:10:04 首次发布