【发布时间】:2019-05-03 11:23:37
【问题描述】:
Recyclerview 中有很多方法可以处理点击事件,但我不知道在性能和最小化错误方面最好的方法。
我看到的第一个方法是在onBindViewHolder方法中处理点击事件
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int postion) {
holder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Add action
}
});
}
第二种方法是在onCreateViewHolder方法中处理点击事件
@Override
public Viewholder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(item_adapter, parent, false);
final ViewHolder holder = new ViewHolder(v);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Add action
}
});
return holder;
}
第三种方法是使用接口向MainActivity或fragment发送信息并处理MainActivity或fragment中的点击事件。
哪种方式更好?
【问题讨论】:
-
我更喜欢界面方式
-
界面 .... Google 最佳实践。
-
你发布的这两种方法我都不喜欢。我更喜欢使用界面
-
即使你使用接口方式你也需要处理点击事件。
标签: android android-recyclerview