Поскольку onItemClick
больше не находится в RecyclerView
, ButterKnife все еще способен обрабатывать клики с элементами @onItemClick
или с помощью @onClick
аннотаций?
Если это не так, любая работа вокруг этого?
Поскольку onItemClick
больше не находится в RecyclerView
, ButterKnife все еще способен обрабатывать клики с элементами @onItemClick
или с помощью @onClick
аннотаций?
Если это не так, любая работа вокруг этого?
Мое решение - использовать @OnClick
внутри ViewHolder. Это единственный способ узнать, какой элемент элемента списка был нажат.
К сожалению, ButterKnife не поддерживает эту функцию. Вы можете сделать что-то с помощью RecyclerView.OnItemTouchListener
или @OnClick
и интерфейса.
@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
}
}
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);
}