Android 无法将值分配给RecyclerView.Adapter中的特定textView

Android 无法将值分配给RecyclerView.Adapter中的特定textView,android,android-recyclerview,Android,Android Recyclerview,我是android开发者的新手,我想用片段制作应用程序,并在其中使用RecyclerView。我得到的错误是,我试图在一个空对象上使用setText。 我的代码如下所示: public static class ContentAdapter extends RecyclerView.Adapter<ContentAdapter.ViewHolder> { private static String[] newsTitle = new String[] {...};

我是android开发者的新手,我想用片段制作应用程序,并在其中使用RecyclerView。我得到的错误是,我试图在一个空对象上使用setText。 我的代码如下所示:

public static class ContentAdapter extends RecyclerView.Adapter<ContentAdapter.ViewHolder> {
        private static String[] newsTitle = new String[] {...};
        private static String[] newsDescs = new String[] {...};

        public ContentAdapter(ViewGroup parent) {}

        @Override
        public void onAttachedToRecyclerView(RecyclerView recyclerView) {
            super.onAttachedToRecyclerView(recyclerView);
        }

        public static class ViewHolder extends RecyclerView.ViewHolder {
            TextView titles;
            TextView descs;
            public ViewHolder(LayoutInflater inflater, ViewGroup parent) {
                super(inflater.inflate(R.layout.item_list, parent, false));
                titles = (TextView) parent.findViewById(R.id.list_title);
                descs = (TextView) parent.findViewById(R.id.list_desc);
            }
        }

         @Override
        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
             return new ViewHolder(LayoutInflater.from(parent.getContext()), parent);
         }

        @Override
        public void onBindViewHolder(ViewHolder holder, int position) {
            holder.titles.setText(newsTitle[position]); //Here is error
            holder.descs.setText(newsDescs[position]); 
        }

        @Override
        public int getItemCount() { return newsTitle.length; }
    }
公共静态类ContentAdapter扩展了RecyclerView.Adapter{
私有静态字符串[]新闻标题=新字符串[]{…};
私有静态字符串[]newsDescs=新字符串[]{…};
公共内容适配器(视图组父级){}
@凌驾
附加ToRecyclerView(RecyclerView RecyclerView)上的公共无效{
super.onAttachedToRecyclerView(recyclerView);
}
公共静态类ViewHolder扩展了RecyclerView.ViewHolder{
文本视图标题;
文本视图描述;
公共视口保持架(更平坦的充气器、视口组父视图){
super(充气机充气(R.layout.item_list,父项,false));
titles=(TextView)parent.findViewById(R.id.list\u title);
descs=(TextView)parent.findViewById(R.id.list\u desc);
}
}
@凌驾
public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
返回新的ViewHolder(LayoutInflater.from(parent.getContext()),parent);
}
@凌驾
公共无效onBindViewHolder(ViewHolder,int位置){
holder.titles.setText(newsttitle[position]);//这里有一个错误
holder.descs.setText(newsDescs[位置]);
}
@凌驾
public int getItemCount(){return newsttitle.length;}
}

以下是一个正确的示例,如果视图持有者

public static class HeaderVH extends RecyclerView.ViewHolder {

    public TextView textView;

    public HeaderVH(View view){
        super(view);
        textView = (TextView)view;
    }

}
您需要将行的视图对象传入viewholder,而不是父视图对象。这是onCreateViewHolder()的一个示例


通过快速查看您的代码,我认为在您的
ViewHolder
中将
parent
替换为
itemView
可能会解决这个问题。将parent更改为itemView,但没有任何更改,仍然是相同的错误您是否检查了
项目列表
布局是否实际包含设置了
android:id=“@+id/list_title”
文本视图
?我知道这是一个常见的错误,所以我只是问问。
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_setting_header, parent, false);
      RecyclerView.ViewHolder  vh = new HeaderVH(v);
return vh;
}