问题
I was trying to implement a recycler view
. but i am not able to use viewHolder
. Please find a solution. Thanks in advance

回答1:
Try to use just ViewHolder
instead of RecyclerView.Adapter.ViewHolder
:
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return null;
}
...
And make sure you have a ViewHolder class inside your adapter class:
public class ViewHolder extends RecyclerView.ViewHolder {
public ViewHolder(View v) {
super(v);
}
}
Hope it helps.
回答2:
You can try this way hope so it will be helpful for you.
public class YourAdapter extends RecyclerView.Adapter<YourAdapter.MyViewHolder> {
private List<String> myList;
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView title, year, genre;
public MyViewHolder(View view) {
super(view);
title = (TextView) view.findViewById(R.id.title);
genre = (TextView) view.findViewById(R.id.genre);
year = (TextView) view.findViewById(R.id.year);
}
}
public YourAdapter(List<String> list) {
this.myList = list;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_row, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
Movie movie = myList.get(position);
holder.title.setText(myList.get(position).getTitle());
}
@Override
public int getItemCount() {
return myList.size();
}
}
回答3:
You must create a new Class inside your Adapter Class like bellow :
public class viewHolder extends RecyclerView.ViewHolder {
public TextView text;
public ImageView imageView;
public viewHolder(View v) {
super(v);
text = (TextView) v.findViewById(R.id.text);
imageView = (ImageView) v.findViewById(R.id.icon);
}
}
来源:https://stackoverflow.com/questions/47730309/cannot-resolve-symbol-viewholder