![](/img/trans.png)
[英]Cannot resolve getFilter() method on adapter class of Recyclerview.Adapter
[英]Cannot recognize a method I created in RecyclerView.Adapter
我创建了自己的 class,名为 RecyclerviewAdapter.java 扩展了RecyclerView.Adapter<>
,并在其中创建了一个方法 class
public void setItemCount(int i){
size=i;
}
我的RecyclerView
工作,我希望用户能够设置在 RecyclerView 中显示多少项目。 在 MainActivity 中,当我调用adapter.setItemCount(2)
时,它说Cannot resolve method 'setItemCount' in 'Adapter'
, Method 'setItemCount(int)' is never used
。 我不知道如何解决它。
这是我的文件。
MainActivity.java
RecyclerView recycler;
RecyclerView.Adapter adapter;
RecyclerView.LayoutManager manager;
ArrayList<RecyclerviewItem> list=new ArrayList<>();
list.add(new RecyclerviewItem(R.drawable.hoversfw,"Title","Description"));
manager=new LinearLayoutManager(this);
adapter=new RecyclerviewAdapter(list);
recycler=findViewById(R.id.recycler);
recycler.setHasFixedSize(true);
recycler.setLayoutManager(manager);
recycler.setAdapter(adapter);
if(!count.getText().toString().equals("")) {
int c= Integer.parseInt(count.getText().toString());
adapter.setItemCount(c);
}
RecyclerviewAdapter.java
public class RecyclerviewAdapter extends RecyclerView.Adapter<RecyclerviewAdapter.RecyclerviewHolder> {
private ArrayList<RecyclerviewItem> list;
private int size;
@NonNull
@Override
public RecyclerviewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v= LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_item,parent,false);
RecyclerviewHolder holder=new RecyclerviewHolder(v);
return holder;
}
public RecyclerviewAdapter(ArrayList<RecyclerviewItem>mlist){
list=mlist;
size=1;
}
public void setItemCount(int i){
size=i;
}
@Override
public void onBindViewHolder(@NonNull RecyclerviewHolder holder, int position) {
RecyclerviewItem item=list.get(position);
holder.image.setImageResource(item.getImageResource());
holder.title.setText(item.getTitle());
holder.description.setText(item.getDescription());
}
@Override
public int getItemCount() {
return size;
}
public static class RecyclerviewHolder extends RecyclerView.ViewHolder{
public ImageView image;
public TextView title;
public TextView description;
public RecyclerviewHolder(@NonNull View itemView) {
super(itemView);
image=itemView.findViewById(R.id.img);
title=itemView.findViewById(R.id.title);
description=itemView.findViewById(R.id.description);
}
}
}
RecyclerviewItem.java
public class RecyclerviewItem {
private int imageResource;
private String title;
private String description;
public RecyclerviewItem(int mimageResource, String mtitle, String mdescription){
imageResource=mimageResource;
title=mtitle;
description=mdescription;
}
public int getImageResource(){
return imageResource;
}
public String getTitle(){
return title;
}
public String getDescription(){
return description;
}
}
您正在使用RecyclerView.Adapter
声明RecyclerView
Adapter,尽管它应该是RecyclerviewAdapter
RecyclerView.Adapter
是 SDK class,但RecyclerviewAdapter
是你的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.