java - 如何从特定适配器位置的 RecyclerView 获取 View 并从这些 View 中获取值?

标签 java android android-recyclerview recyclerview-layout

我有 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();
                 }
             });

在那个点击监听器中,我正在更改 boolean 标志,以便它可以显示一个项目是否被选中。取决于它的值我想通过检查遍历整个 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 
                }
            }

请帮助从 Recyclerview 获取特定适配器位置的 View 反射(reflect)我的问题的图像如下 enter image description here

最佳答案

尝试使用 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 中编写一个公共(public)方法来在你的 Activity 中获取你的 arraylist ,你可以在其中检查你的标志

关于java - 如何从特定适配器位置的 RecyclerView 获取 View 并从这些 View 中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47826949/

相关文章:

java - 将数据附加到子数组而不是用最新条目覆盖它

java - 使用文件对象创建文件?

java - 如何存储和检索用户特定数据

java - 如何去掉字符串开头的文本?

Android RecyclerView - 多个Edittext同时更改

android - 在 ViewPager 中切换页面时显示工具栏

android native 代码调用java方法成功,但ui方法失败

android - gitignore android 包含 apk

java - 需要应用程序检测来回摇动,目前仅检测单个摇动 Action

java - 使用自动生成的 ID 更新 firebase 中的文档