由於onItemClick
是沒有更多RecyclerView
,確實ButterKnife仍然能夠處理其條目點擊與@onItemClick
或@onClick
註解?如何使用ButterKnife OnItemClick和RecyclerView?
如果不是這樣,任何解決使用它?
由於onItemClick
是沒有更多RecyclerView
,確實ButterKnife仍然能夠處理其條目點擊與@onItemClick
或@onClick
註解?如何使用ButterKnife OnItemClick和RecyclerView?
如果不是這樣,任何解決使用它?
不幸的是,ButterKnife不支持此功能。您可以使用RecyclerView.OnItemTouchListener
或@OnClick
和界面進行設置。
我的解決方案是在ViewHolder中使用@OnClick
。這是唯一能夠確定「列表項」的哪個元素已被點擊的線索。
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener
@Override
public void onClick(View view) {
int data = getAdapterPosition();
/*
Intent in = new Intent(getContext(),NextActivity.class);
in.putExtra("data",mTextView.getText().toString());
startActivity(in);
*/
// Flower current = ls.get(position);
## Heading ##
int itemPosition = recycelr.getChildLayoutPosition(view);
Flower item = fl_List.get(itemPosition);
Intent in = new Intent(getContext(),NextActivity.class);
in.putExtra("id",0);
in.putExtra("data",item.getName());
startActivity(in);
}
@OnClick詮釋的作品,你ViewHolder類使用如下。
class ViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.title)
TextView title;
ViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
@OnClick
void onClick(View view) {
System.out.println(getAdapterPosition()); //clicked item position
}
}
可以說明一點點在這,你怎麼得到被點擊的單元格的位置? – aprofromindia 2015-07-03 20:54:41
你能展示更多的數據或代碼來了解你需要什麼 – IgniteCoders 2016-11-10 05:03:47