我的RecyclerView为每一行布局都有一个ImageView和一个TextView。在RecyclerViewAdapter的ViewHolder中,我有点击监听器
v.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Images i=list.get(getAdapterPosition());
i.setFlag(!i.getFlag());
list.set(getAdapterPosition(),(i));
notifyDataSetChanged();
}
});
在该点击监听器中,我正在更改布尔标志,以便它可以显示是否选择了一个项目。取决于它的值我希望通过检查遍历整个ArrayList
for(int i=0; i<images.size(); i++){
if(images.get(i).getFlag()){
// there I want to get view from LayoutManager for that item
//but how to get view for that item and get Bitmap form imageview for that item
//end of geting view
}
}
答案 0 :(得分:5)
尝试使用 recyclerView.getLayoutManager().findViewByPosition(int position)
获取recyclerView
的特定行
View row = recyclerView.getLayoutManager().findViewByPosition(0);
TextView textView = row.findViewById(R.id.YourTextviwID);
textView.setText("Nilu");
ImageView textView = row.findViewById(R.id.YourImageViewID);
imageView.setBackgroundResource(R.mipmap.ic_launcher);
注意: - 当您滚动recyclerView时,只有在屏幕上显示的项目才会从内存中删除
编辑: - 您可以在adapter
中编写一个公开方法,以便在您的活动中获取arraylist
,以便检查您的国旗