对有recycleView的页面进行点击跳转设计

300 阅读1分钟

1、在Adapter中新建一个接口,定义接口内部的方法,并将该接口在adapter中实现

`public void setOnItemClickListener(OnItemClickListener listener) { this.mListener=listener; }

public interface OnItemClickListener { void onItemClick(int position); }`

`public class MySecondAdapter extends RecyclerView.Adapter<MySecondAdapter.InnerHolder> {

private final Context mContext;
private OnItemClickListener mListener;


public MySecondAdapter(Context context){
    this.mContext=context;
}

@NonNull
@Override
public InnerHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view = View.inflate(mContext, R.layout.item_my_recycler_view, null);
    return new InnerHolder(view);
}

@Override
public void onBindViewHolder(@NonNull InnerHolder holder, final int position) {
    holder.mTextView.setText("我是 "+position+" 号");
    holder.mImageView.setImageResource(R.mipmap.ic_launcher_round);

    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mListener.onItemClick(position);
        }
    });
}


public void setOnItemClickListener(OnItemClickListener listener) {
    this.mListener=listener;
}

public interface OnItemClickListener {
    void onItemClick(int position);
}

@Override
public int getItemCount() {
    return 30;
}

public class InnerHolder extends RecyclerView.ViewHolder {

    private final TextView mTextView;
    private final ImageView mImageView;

    public InnerHolder(@NonNull View itemView) {
        super(itemView);
        mTextView = itemView.findViewById(R.id.tv_title);
        mImageView = itemView.findViewById(R.id.iv_pic);

    }
}

}`

2、#### 对itemView设置点击事件

holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mListener.onItemClick(position); } });

3、对itemView设置点击事件

mMyAdapter.setOnItemClickListener(new MySecondAdapter.OnItemClickListener() { @Override public void onItemClick(int position) { Toast.makeText(MyRecyclerViewActivity.this,"position is "+position,Toast.LENGTH_SHORT).show(); } });

2.jpg

1.jpg

代码:gitee.com/gonnainsane…