首页 > 解决方案 > 尝试在空对象引用上调用虚拟方法 'void android.widget.TextView.setText(java.lang.CharSequence)

问题描述

我正在尝试创建一个回收器视图,该视图在它的名称下显示一张图片作为 instagram 中的故事。我已经完成了所有工作,但代码仍然没有运行并在 com.example.recyclerview.Adapter.onBindViewHolder(Adapter.java: 36) 在 com.example.recyclerview.Adapter.onBindViewHolder(Adapter.java:14)

公共类适配器扩展 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);


    }
}

}

标签: androidandroid-adapter

解决方案


我不确定,但您似乎想在适配器中填充错误的布局

LayoutInflater.from(parent.getContext()).inflate(R.layout.activity_main, parent, false);

R.layout.activity_main当我想应该有类似的项目视图布局时,您正试图膨胀R.layout.item_view

我可能是错的,因为我看不到你的R.layout.activity_main

希望能帮助到你。


推荐阅读