android onBindViewHolder即使是使用extends实现的,也没有实现
在实现卡片查看回收器视图时,我遇到了一个问题。我在类中实现了android onBindViewHolder即使是使用extends实现的,也没有实现,android,Android,在实现卡片查看回收器视图时,我遇到了一个问题。我在类中实现了onBindViewHolder,该类扩展了RecyclerView.Adapter。但是我想使用ViewHolder,它扩展了RecyclerView.ViewHolder。问题是,当我使用自定义ViewHolder时,androidstudio说您没有在bindviewholder上实现。我不知道怎么做。有安卓大师吗 这是我的源代码 package com.example.beyongha.zipv2; import androi
onBindViewHolder
,该类扩展了RecyclerView.Adapter
。但是我想使用ViewHolder
,它扩展了RecyclerView.ViewHolder
。问题是,当我使用自定义ViewHolder
时,androidstudio说您没有在bindviewholder上实现。我不知道怎么做。有安卓大师吗
这是我的源代码
package com.example.beyongha.zipv2;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.v4.content.ContextCompat;
import android.support.v7.view.menu.MenuView;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import android.support.v7.widget.CardView;
import java.util.ArrayList;
import java.util.List;
public class CardHeaderRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private static final int VIEW_TYPE_HEADER = 0;
private static final int VIEW_TYPE_ITEM = 1;
Context context;
List<Item> items;
int item_layout;
public CardHeaderRecyclerAdapter(Context context, List<Item> items, int item_layout) {
this.context = context;
this.items = items;
this.item_layout = item_layout;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
final Item item = items.get(position);
Drawable drawable = ContextCompat.getDrawable(context, item.getImage());
holder.image.setBackground(drawable);
holder.title.setText(item.getTitle());
holder.cardview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, item.getTitle(), Toast.LENGTH_SHORT).show();
}
});
}
@Override
public int getItemCount() {
return this.items.size();
}
@Override
public int getItemViewType(int position) {
return (position == 0) ? VIEW_TYPE_HEADER : VIEW_TYPE_ITEM;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_cardview, null);
return new ViewHolder(v);
}
static class HeaderViewHolder extends RecyclerView.ViewHolder {
public HeaderViewHolder(View view) {
super(view);
}
}
public class ViewHolder extends RecyclerView.ViewHolder {
ImageView image;
TextView title;
CardView cardview;
public ViewHolder(View itemView) {
super(itemView);
image = (ImageView) itemView.findViewById(R.id.image);
title = (TextView) itemView.findViewById(R.id.title);
cardview = (CardView) itemView.findViewById(R.id.cardview);
}
}
}
package com.example.beyongha.zipv2;
导入android.content.Context;
导入android.graphics.drawable.drawable;
导入android.support.v4.content.ContextCompat;
导入android.support.v7.view.menu.MenuView;
导入android.support.v7.widget.RecyclerView;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ImageView;
导入android.widget.LinearLayout;
导入android.widget.TextView;
导入android.widget.Toast;
导入android.support.v7.widget.CardView;
导入java.util.ArrayList;
导入java.util.List;
公共类CardHeaderRecyclerAdapter扩展了RecyclerView.Adapter{
私有静态最终整型视图\类型\标题=0;
私有静态最终整数视图\类型\项=1;
语境;
清单项目;
int项目_布局;
public CardHeaderRecyclerAdapter(上下文、列表项、int项_布局){
this.context=上下文;
这个项目=项目;
this.item\u layout=item\u layout;
}
@凌驾
公共无效onBindViewHolder(ViewHolder,int位置){
最终项目=项目。获取(位置);
Drawable Drawable=ContextCompat.getDrawable(context,item.getImage());
支架。图像。立根台(可拉拔);
holder.title.setText(item.getTitle());
holder.cardview.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Toast.makeText(上下文,item.getTitle(),Toast.LENGTH_SHORT.show();
}
});
}
@凌驾
public int getItemCount(){
返回此.items.size();
}
@凌驾
public int getItemViewType(int位置){
返回(位置==0)?查看类型标题:查看类型项目;
}
@凌驾
public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图v=LayoutInflater.from(parent.getContext()).flate(R.layout.item\u cardview,null);
返回新的视图持有者(v);
}
静态类HeaderViewHolder扩展了RecyclerView.ViewHolder{
公共HeadServiceWolder(视图){
超级(视图);
}
}
公共类ViewHolder扩展了RecyclerView.ViewHolder{
图像视图图像;
文本视图标题;
卡德维尤;
公共视图持有者(视图项视图){
超级(项目视图);
image=(ImageView)itemView.findViewById(R.id.image);
title=(TextView)itemView.findViewById(R.id.title);
cardview=(cardview)itemView.findViewById(R.id.cardview);
}
}
}
使用泛型类型参数中的CardHeaderRecyclerAdapter.ViewHolder扩展适配器
public class CardHeaderRecyclerAdapter extends RecyclerView.Adapter<CardHeaderRecyclerAdapter.ViewHolder>
公共类CardHeaderRecyclerAdapter扩展了RecyclerView.Adapter