将具有位置的字符串值从RVAdapter传递到Activity

时间:2018-04-07 04:35:14

标签: android android-activity android-recyclerview onclicklistener

我正在尝试将按钮点击数值与Recyclerview适配器的位置传递给活动。我没有用这两个接口做到这一点。例如;我点击按钮的第一行以获得" 2" &安培; I Log Button getNumber()是" 2"。没关系。但当我点击第二排&日志是" 2",实际上第二行按钮号是" 1"。我不知道如何通过职位获得价值。

这里是界面,

public interface OnItemClick {
    void onClick(String value, int position);
}

适配器,

private OnItemClick mCallback;

    public SubMenuRVAdapter(Context context, List<SubMenu> subMenuList, OnItemClick mCallback) {
        this.context = context;
        this.subMenuList = subMenuList;
        this.mCallback = mCallback;
    }

    holder.button.setOnClickListener(new ElegantNumberButton.OnClickListener() { // onBindViewHolder
        @Override
        public void onClick(View view) {
            String num = holder.button.getNumber();
            mCallback.onClick(num, holder.getAdapterPosition());
        }
    });

活动,

public class SubMenuActivity extends AppCompatActivity implements OnItemClick {    

     SubMenuRVAdapter adapter = new SubMenuRVAdapter(SubMenuActivity.this, subMenus, SubMenuActivity.this);
     recycler_view.setAdapter(adapter);

     @Override
     public void onClick(String value, int position) {
         num = value;
     }
}

0 个答案:

没有答案