由于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