android - 水平和垂直 recyclerview 项目位置

标签 android android-recyclerview

我在像谷歌游戏商店这样的垂直回收 View 中创建了水平回收 View 。我能够正确呈现项目,但是当我在水平 recyclerview 中添加 onclicklistener 时,我只得到水平项目位置,如何获得 veritcal recyclerview 项目位置以完全从模型类中获取被点击的项目。?

最佳答案

假设您有一个 List<Vertical> for outer recyclerView 垂直列表的一个字段是List<Horizontal> 对于内部水平recyclerview垂直对象应该是这样的..

public class Vertical {

  //int vertical_Postion;
  List<Horizontal> horizontalList;


}

在 recyclerAdapter Vertical (onBindViewHolder()) 中将位置传递给构造函数,就像这样..

   int vertical_position = position; // position you get in the onBindViewHolder
   RecylerAdapterHorizontal horizontal = new RecyclerAdapterHorizontal(context,horizontalList,vertical_postion);
   rv_horizontal.setAdapter(horizontal);

现在您可以在 reycler Adapter horizo​​ntal 中记录垂直位置。对于一个水平列表,它将保持不变

编辑

HorizontalAdapter(Context context,List<Horizontal> horizontal, int mVertPos)

 { 
       this.mVertPos = mVertPos;
       .......
   }  

    @Override
    public void onBindViewHolder(ItemViewHolder holder, int position)
     {

        holder.yourView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Log.e("horizontal pos= " +position);
            Log.e("vert pos= " +mVertPos);

        }
    });



}

关于android - 水平和垂直 recyclerview 项目位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48839508/

相关文章:

android - NDK 版本的 Gradle 构建错误 - 与 android.ndkVersion 不一致的 ndk.dir 版本

android - Crashlytics 报告上传因 java.lang.OutOfMemoryError 而崩溃

android - 如何构建这个 Fragment/RecyclerView

android-layout - 在不移动操作栏的情况下在 Activity 之间转换

android - 任务 ':app:transformClassesWithMultidexlistForDebug' 执行失败。在 flutter 中

java - 如何使用 Runtime.exec 重定向 dmesg 的数据?

android - 使用带有 recycler-android 的长按监听器

java - Android 加载全图 Recyclerview Cardview

java - 即使在更新模型成功后更新 RecyclerView 也失败

android - 当回收者想要回收一个适配器时调用哪个 Recycler Adapter 方法