为了账号安全,请及时绑定邮箱和手机立即绑定

RecyclerView onBindViewHolder出现空指针异常

RecyclerView onBindViewHolder出现空指针异常

qq_软件少年_03306229 2017-09-10 22:12:11
package com.example.haha.note;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;import java.util.ArrayList;import java.util.List;import java.util.Random;/** * Created by haha on 2017/9/8. */public class NotesTitleFragment extends Fragment {    private boolean isTwoPane;    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){        View view=inflater.inflate(R.layout.notes_title_frag,container,false);        RecyclerView noteTitleRecyclerView=(RecyclerView) view.findViewById(R.id.notes_title_recycler_view);        LinearLayoutManager layoutManager=new LinearLayoutManager(getActivity());        noteTitleRecyclerView.setLayoutManager(layoutManager);        NoteAdapter adapter=new NoteAdapter(getNote());        noteTitleRecyclerView.setAdapter(adapter);        return view;    }    private List<notes> getNote(){        List<notes> notesList=new ArrayList<>();        for(int i=1;i<=50;i++){            notes note=new notes();            note.setTitle("This is title" + i);            note.setContent(getRandomLengthContent("This is note content"+i+"."));            notesList.add(note);        }        return notesList;    }    private String getRandomLengthContent(String content){        Random random=new Random();        int length=random.nextInt(20)+1;        StringBuilder builder=new StringBuilder();        for(int i=0;i<length;i++){            builder.append(content);        }        return builder.toString();    }    public void onActivityCreated(Bundle savedInstanceState){        super.onActivityCreated(savedInstanceState);        if(getActivity().findViewById(R.id.notes_content_layout) !=null){            isTwoPane=true;        }        else isTwoPane=false;    }    class NoteAdapter extends RecyclerView.Adapter<NoteAdapter.ViewHolder>{        private List<notes> mNoteList;           class ViewHolder extends RecyclerView.ViewHolder{            TextView noteTitleText;            public  ViewHolder(View view){                super(view);                noteTitleText=(TextView) view.findViewById(R.id.note_title);            }        }        public NoteAdapter(List<notes> notesList){            mNoteList=notesList;        }       @Override       public ViewHolder onCreateViewHolder(ViewGroup parent,int viewType){            View view=LayoutInflater.from(parent.getContext()).inflate(R.layout.notes_item,parent,false);            final ViewHolder holder=new ViewHolder(view);             view.setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View view) {                    notes note=mNoteList.get(holder.getAdapterPosition());                    if(isTwoPane){                        NotesContentFragment notesContentFragment=(NotesContentFragment) getFragmentManager().findFragmentById(R.id.notes_content_fragment);                       notesContentFragment.refresh(note.getTitle(),note.getContent());                    }else {                        notesContentActivity.actionStart(getActivity(),note.getTitle(),note.getContent());                    }                }            });            return  holder;        }        public void onBindViewHolder(ViewHolder holder,int position){            notes note=mNoteList.get(position);            holder.noteTitleText.setText(note.getTitle());        }        public int getItemCount(){            return mNoteList.size();        }    }}试过网上说得很多办法都没解决问题,小白求教
查看完整描述

1 回答

?
蜂之谷

TA贡献564条经验 获得超863个赞

错误日志贴出来看看

查看完整回答
反对 回复 2017-09-11
  • 1 回答
  • 0 关注
  • 2369 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号