在嵌套的 Recyclerview 中获取错误的项目位置

问题描述

我正在研究嵌套 Recyclerview,如下所示。 recyclerview 工作得很好,除非我弄错了子项位置。我已经为父视图和子视图实现了一个接口。父项中的项目位置工作正常。

enter image description here

子适配器代码

TextTheme kTextTheme(theme,String language) {
  switch (language) {
    case 'vi':
      return return TextStyle(
      fontFamily: 'Lato',color: Colors.black,fontSize: 18,);
    case 'ar':
      return return TextStyle(
      fontFamily: 'Lato',);
    default:
      return return TextStyle(
      fontFamily: 'Lato',);
  }
}
    

界面:

public static class OrderChildViewHolder extends RecyclerView.ViewHolder{

//declarations

 public OrderChildViewHolder(@NonNull View itemView,OrderChildAdapter.OnItemClickListner listner) {
            super(itemView);
btnremove=itemView.findViewById(R.id.btnremove);

 btnremove.setonClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View view) {
                   if(listner!=null){
                        int position = getAdapterPosition();
                     //  int position = getLayoutPosition();


                        if(position!=RecyclerView.NO_POSITION){
                            listner.onItemRemoveClick(position,view);
                        }
                    }

                }
            });

在父适配器中编写的实现:

public interface OnItemClickListner{
     
        void onItemRemoveClick(int position,View view);
     
    }

参考图片

当我点击Wall Putty Cement时,它会显示上次加载的父级孩子的位置,即硫酸化肥,这意味着它总是指上次加载的父级位置。

我怎样才能在正确的父母下获得正确的位置?

如果这种情况不清楚,如果您需要更多信息,请告诉我。

谢谢, PD

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...