Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android的RecyclerView中获取空指针异常?_Android - Fatal编程技术网

在android的RecyclerView中获取空指针异常?

在android的RecyclerView中获取空指针异常?,android,Android,我已经用一些文本和图像实现了RecyclerView,但在这方面我得到了空指针异常的错误。以下是RecyclerView活动的代码及其适配器 RecyclerView活动代码: RecyclerView recyclerView; RecyclerView.LayoutManager layoutManager; RecyclerView.Adapter adapter; View rootview; @Override public void onCreate(@Nullable Bundl

我已经用一些文本和图像实现了
RecyclerView
,但在这方面我得到了空指针异常的错误。以下是
RecyclerView
活动的代码及其适配器

RecyclerView
活动代码:

RecyclerView recyclerView;
RecyclerView.LayoutManager layoutManager;
RecyclerView.Adapter adapter;
View rootview;

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

}

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    rootview = inflater.inflate(R.layout.first_class_9, container, false);
    recyclerView = (RecyclerView) rootview.findViewById(R.id.card_relative_1_9);

    layoutManager = new LinearLayoutManager(getActivity());
    recyclerView.setLayoutManager(layoutManager);

    adapter = new RecyclerAdapter();
    recyclerView.setAdapter(adapter);
    return rootview;
}
RecyclerView
适配器代码:

    public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder> {

    private String[] SubTxt = {"NCERT Solution",
            "Notes",
            "Sample Papers"};


    private int[] SubImage = {R.drawable.ic_answers_black_48dp,
            R.drawable.ic_notes_black_48dp,
            R.drawable.ic_sample_papers_black_48dp};

    class ViewHolder extends RecyclerView.ViewHolder {

        public int currentItem;
        public ImageView itemImage;
        public TextView itemTitle;


        public ViewHolder(View itemView) {
            super(itemView);
            itemImage = (ImageView) itemView.findViewById(R.id.SubImage);
            itemTitle = (TextView) itemView.findViewById(R.id.SubTxt);


            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    int position = getAdapterPosition();

                    Snackbar.make(v, "Click detected on item " + position,
                            Snackbar.LENGTH_LONG)
                            .setAction("Action", null).show();

                }
            });
        }
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        View v = LayoutInflater.from(viewGroup.getContext())
                .inflate(R.layout.recycler_1_9, viewGroup, false);
        ViewHolder viewHolder = new ViewHolder(v);
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(ViewHolder viewHolder, int i) {
        viewHolder.itemTitle.setText(SubTxt[i]);
        viewHolder.itemImage.setImageResource(SubImage[i]);
    }

    @Override
    public int getItemCount() {
        return SubTxt.length;
    }
}
公共类RecyclerAdapter扩展了RecyclerView.Adapter{ 私有字符串[]subtext={“NCERT解决方案”, “附注”, “样本文件”}; private int[]SubImage={R.drawable.ic\u answers\u black\u 48dp, R.drawable.ic\U notes\U black\U 48dp, R.drawable.ic_样本_纸张_黑色_48dp}; 类ViewHolder扩展了RecyclerView.ViewHolder{ 公共项目; 公共图像查看项目图像; 公共文本视图项目标题; 公共视图持有者(视图项视图){ 超级(项目视图); itemImage=(ImageView)itemView.findViewById(R.id.SubImage); itemTitle=(TextView)itemView.findViewById(R.id.subText); itemView.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ int position=getAdapterPosition(); Snackbar.make(v,“在项目上检测到点击”+位置, 蛇形条长度(长) .setAction(“Action”,null).show(); } }); } } @凌驾 公共视图持有者onCreateViewHolder(视图组视图组,int i){ 视图v=LayoutInflater.from(viewGroup.getContext()) .充气(R.layout.recycler_1_9,视图组,错误); 视窗夹持器视窗夹持器=新视窗夹持器(v); 返回视图持有者; } @凌驾 公共无效onBindViewHolder(ViewHolder ViewHolder,int i){ viewHolder.itemTitle.setText(subtext[i]); viewHolder.itemImage.setImageResource(子映像[i]); } @凌驾 public int getItemCount(){ 返回subtext.length; } }
recyclerView.setHasFixedSize(真);这一行不见了。添加此行您可以发布错误日志吗?可能重复recyclerView.setHasFixedSize(true);这一行不见了。添加此行您可以发布您的错误日志吗?可能重复