如何将一个 onClickListener 应用于多个视图持有者
How do I apply one onClickListener to multiple viewholders
所以我有 ViewHolders
title
和 description
,单击它们将执行完全相同的操作。 setOnClickListener
方法在此方法中定义:
@Override
public void onBindViewHolder(final RecycleViewAdapter.ViewHolder holder, int position) {
holder.title.setOnClickListener(new View.OnClickListener(){
// does A
});
holder.description.setOnClickListener(new View.OnClickListener() {
// does A
});
}
除了从抽象 class 扩展之外,还有其他方法吗?
不要在onBindViewHolder方法中写OnClickListener,每次滚动列表时都会调用
你必须在取景器中制作它class
public class CustomViewHolder extends RecyclerView.ViewHolder {
TextView tv_desc, tv_title;
public PlanetViewHolder(View itemView) {
super(itemView);
tv_desc = (TextView) itemView.findViewById(R.id.tv_desc);
tv_title = (TextView) itemView.findViewById(R.id.tv_title);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//your code of on click
}
});
}
}
所以我有 ViewHolders
title
和 description
,单击它们将执行完全相同的操作。 setOnClickListener
方法在此方法中定义:
@Override
public void onBindViewHolder(final RecycleViewAdapter.ViewHolder holder, int position) {
holder.title.setOnClickListener(new View.OnClickListener(){
// does A
});
holder.description.setOnClickListener(new View.OnClickListener() {
// does A
});
}
除了从抽象 class 扩展之外,还有其他方法吗?
不要在onBindViewHolder方法中写OnClickListener,每次滚动列表时都会调用
你必须在取景器中制作它class
public class CustomViewHolder extends RecyclerView.ViewHolder {
TextView tv_desc, tv_title;
public PlanetViewHolder(View itemView) {
super(itemView);
tv_desc = (TextView) itemView.findViewById(R.id.tv_desc);
tv_title = (TextView) itemView.findViewById(R.id.tv_title);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//your code of on click
}
});
}
}