尝试在空对象引用上调用虚方法 'void android.widget.TextView.setText(java.lang.CharSequence)
Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence) on a null object reference
我正在尝试创建一个回收站视图,在它的名字下显示一张图片作为 instagram 中的故事。我已经完成了所有的事情,但代码仍然没有 运行 并在 com.example.recyclerview.Adapter.onBindViewHolder 告诉我一个错误(Adapter.java:36)
在 com.example.recyclerview.Adapter.onBindViewHolder(Adapter.java:14)
public class 适配器扩展 RecyclerView.Adapter{
List<Story> storiesList;
public Adapter(List<Story> itemsList) {
this.storiesList = itemsList;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.activity_main, parent, false);
return new ViewHolder(view) ;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int position) {
Story story = storiesList.get(position);
Log.d("street",story.getName());
viewHolder.name.setText(story.getName());
}
@Override
public int getItemCount() {
if (storiesList == null)return 0;
return storiesList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView name;
ImageView sora;
public ViewHolder(@NonNull View itemView) {
super(itemView);
name = (TextView) itemView.findViewById(R.id.nameofuser);
sora = itemView.findViewById(R.id.imageN);
}
}
}
我不确定,但你似乎想在你的适配器中膨胀错误的布局
LayoutInflater.from(parent.getContext()).inflate(R.layout.activity_main, parent, false);
你正试图膨胀 R.layout.activity_main
,我想,项目视图布局应该类似于 R.layout.item_view
我可能错了,因为我看不到你的 R.layout.activity_main
。
希望对您有所帮助。
我正在尝试创建一个回收站视图,在它的名字下显示一张图片作为 instagram 中的故事。我已经完成了所有的事情,但代码仍然没有 运行 并在 com.example.recyclerview.Adapter.onBindViewHolder 告诉我一个错误(Adapter.java:36) 在 com.example.recyclerview.Adapter.onBindViewHolder(Adapter.java:14)
public class 适配器扩展 RecyclerView.Adapter{
List<Story> storiesList;
public Adapter(List<Story> itemsList) {
this.storiesList = itemsList;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.activity_main, parent, false);
return new ViewHolder(view) ;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int position) {
Story story = storiesList.get(position);
Log.d("street",story.getName());
viewHolder.name.setText(story.getName());
}
@Override
public int getItemCount() {
if (storiesList == null)return 0;
return storiesList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView name;
ImageView sora;
public ViewHolder(@NonNull View itemView) {
super(itemView);
name = (TextView) itemView.findViewById(R.id.nameofuser);
sora = itemView.findViewById(R.id.imageN);
}
}
}
我不确定,但你似乎想在你的适配器中膨胀错误的布局
LayoutInflater.from(parent.getContext()).inflate(R.layout.activity_main, parent, false);
你正试图膨胀 R.layout.activity_main
,我想,项目视图布局应该类似于 R.layout.item_view
我可能错了,因为我看不到你的 R.layout.activity_main
。
希望对您有所帮助。