Java 如何将一个onClickListener应用于多个ViewHolder
所以我有了viewholder的标题和描述,点击它们也会做同样的事情。setOnClickListener方法在此方法中定义:Java 如何将一个onClickListener应用于多个ViewHolder,java,android,inheritance,android-viewholder,Java,Android,Inheritance,Android Viewholder,所以我有了viewholder的标题和描述,点击它们也会做同样的事情。setOnClickListener方法在此方法中定义: @Override public void onBindViewHolder(final RecycleViewAdapter.ViewHolder holder, int position) { holder.title.setOnClickListener(new View.OnClickListener(){ // does A }
@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
});
}
除了从抽象类扩展之外,还有其他方法吗?不要在onBindViewHolder方法中编写OnClickListner,因为每次滚动列表时都会调用它 您必须在viewholder类中完成
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
}
});
}
}
为您的视图创建一个容器,作为holder的一部分,并在不创建新视图的视图上应用click listener。OnClickListener只需在CustomViewHolder类中实现View.OnClickListener接口