我有一個帶有多個項目的RecyclerView。每個項目都有多個按鈕來執行一些操作。 所以我實現了View.OnClickListener到我的RecyclerViewAdapter。RecyclerView中的多個onClickListener
但似乎我只能在onCreateViewHolder函數中設置一個OnClickListener。
有誰知道任何解決方案在我的RecyclerView的每個項目中有多個按鈕?
我有一個帶有多個項目的RecyclerView。每個項目都有多個按鈕來執行一些操作。 所以我實現了View.OnClickListener到我的RecyclerViewAdapter。RecyclerView中的多個onClickListener
但似乎我只能在onCreateViewHolder函數中設置一個OnClickListener。
有誰知道任何解決方案在我的RecyclerView的每個項目中有多個按鈕?
您可以實現OnClickListener並在onClick函數內實現每個動作。喜歡這個。
static class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
Button button1;
Button button2;
Button button3;
Button button4;
public MyViewHolder(View itemView) {
super(itemView);
button1 = (Button) itemView.findViewById(R.id.button1);
button2 = (Button) itemView.findViewById(R.id.button2);
button3 = (Button) itemView.findViewById(R.id.button3);
button4 = (Button) itemView.findViewById(R.id.button4);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button4.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (view == button1) {
// button1 action
} else if (view == button2) {
// button2 action
} else if (view == button3) {
// button3 action
} else if (view == button4) {
// button4 action
}
}
}
感謝您的回答,但我已經嘗試這種方式,我發現如何訪問我的持有人的位置, – SocialSupaCrew
您可以創建自己的onclicklistener並通過構造函數中的位置 – akash93
@SocialSupaCrew它正在工作,但你正在創建** FOUR **'OnClickListener',用於什麼?只需讓MyViewHolder實現OnClickListener並創建** ONE **常用偵聽器 – pskink
讓你ViewHolder實現OnClickListener,那麼你可以設置多個setOnClickListener調用 – pskink
在哪裏我可以設置的setOnClickListener?在我的ViewHolder類中? – SocialSupaCrew
是的,只需調用v0.setOnClickListener(this); v1.setOnClickListener(本);等 – pskink