在recyclerView中显示SQLite DB Android中的ArrayList

在recyclerView中显示SQLite DB Android中的ArrayList,android,arraylist,android-sqlite,Android,Arraylist,Android Sqlite,当我试图在RecycleWebView中显示ArrayList时,我有NullPointerExeption,我检查了日志中显示ArrayList,它工作得很好,我想我的错误在RecycleWebAdapter中。所以请帮我找到我的错误并解释 我在DB中创建Arraylist的方法: public List<Cards> getData(){ List<Cards> list = new ArrayList<>(); SQLiteDataba

当我试图在
RecycleWebView
中显示
ArrayList
时,我有
NullPointerExeption
,我检查了日志中显示
ArrayList
,它工作得很好,我想我的错误在
RecycleWebAdapter
中。所以请帮我找到我的错误并解释

我在DB中创建
Arraylist
的方法:

public List<Cards> getData(){

    List<Cards> list = new ArrayList<>();
    SQLiteDatabase sqLiteDatabase= helper.getWritableDatabase();
    Cursor cursor= sqLiteDatabase.rawQuery(helper.QUERY,null);
    while (cursor.moveToNext()){

        int index0=cursor.getColumnIndex(helper.UID);

        int index1=cursor.getColumnIndex(helper.KEY_NAME);
        int index2=cursor.getColumnIndex(helper.KEY_VALUE);
        int index3=cursor.getColumnIndex(helper.KEY_FORMAT);
        int index4=cursor.getColumnIndex(helper.KEY_COUNTRY);

        int cid = cursor.getInt(index0);
        String name = cursor.getString(index1);
        String value = cursor.getString(index2);
        String format = cursor.getString(index3);
        String country = cursor.getString(index4);
        Cards cards = new Cards(cid,name,value,format,country);

        list.add(cards);

    }

    return list;

}
public List getData(){
列表=新的ArrayList();
SQLiteDatabase SQLiteDatabase=helper.getWritableDatabase();
Cursor Cursor=sqLiteDatabase.rawQuery(helper.QUERY,null);
while(cursor.moveToNext()){
int index0=cursor.getColumnIndex(helper.UID);
int index1=cursor.getColumnIndex(helper.KEY\u NAME);
int index2=cursor.getColumnIndex(helper.KEY\u值);
int index3=cursor.getColumnIndex(helper.KEY\u格式);
int index4=cursor.getColumnIndex(helper.KEY\u COUNTRY);
int-cid=cursor.getInt(index0);
字符串名称=cursor.getString(index1);
字符串值=cursor.getString(index2);
字符串格式=cursor.getString(index3);
String country=cursor.getString(index4);
卡片=新卡片(cid、名称、值、格式、国家);
列表。添加(卡片);
}
退货清单;
}
卡片是我的入门和入门课程

回收服务适配器:

public class RecycleViewAdapter extends RecyclerView.Adapter<RecycleViewAdapter.MyViewHolder> {
private static final String TAG = "recyclerViewAdapter";


private List<Cards> items;
private int itemLayout;

public RecycleViewAdapter(List<Cards> items, int itemLayout) {

    this.items = items;
    this.itemLayout= itemLayout;
}

@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

   View view=LayoutInflater.from(parent.getContext()).inflate(itemLayout,parent,false);
    return new MyViewHolder(view);
}

@Override
public void onBindViewHolder(MyViewHolder holder, int position) {


    Cards item=items.get(position);
    holder.title.setText(item.getName());

}

@Override
public int getItemCount() {

    return items.size();
}
public static class  MyViewHolder extends RecyclerView.ViewHolder{

    TextView title;
    public MyViewHolder(View itemView) {

        super(itemView);

        title= (TextView) itemView.findViewById(R.id.listText);
    }
}




`MyCardsFragment` , where i have `recyclerView`:

    public class MyCardsFragment extends Fragment {
    public DataBaseAdapter data;
    private static final String TAG = "MyApp";

    private RecyclerView recyclerView;
    DataBaseAdapter dataBaseHelper;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.fragment_my_cards, container, false);


        recyclerView = (RecyclerView) view.findViewById(R.id.recycleView);

        recyclerView.setHasFixedSize(true);

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

        recyclerView.setItemAnimator(new DefaultItemAnimator());

        recyclerView.setAdapter(new RecycleViewAdapter(dataBaseHelper.getData(),R.layout.custom_row));
        return view;

    }
}
公共类RecycleView适配器扩展了RecycleView.Adapter{ 私有静态最终字符串TAG=“RecycleServiceAdapter”; 私人清单项目; 私人空间布局; 公共回收设备适配器(列表项、int项布局){ 这个项目=项目; this.itemLayout=itemLayout; } @凌驾 公共MyViewHolder onCreateViewHolder(视图组父级,int-viewType){ View=LayoutFlater.from(parent.getContext()).inflate(itemLayout,parent,false); 返回新的MyViewHolder(视图); } @凌驾 公共无效onBindViewHolder(MyViewHolder,int位置){ 卡片项目=项目。获取(位置); holder.title.setText(item.getName()); } @凌驾 public int getItemCount(){ 返回items.size(); } 公共静态类MyViewHolder扩展了RecyclerView.ViewHolder{ 文本视图标题; 公共MyViewHolder(查看项目视图){ 超级(项目视图); title=(TextView)itemView.findViewById(R.id.listText); } } `MyCardsFragment`,其中我有“recyclerView”: 公共类MyCardsFragment扩展了片段{ 公共数据库适配器数据; 私有静态最终字符串TAG=“MyApp”; 私人回收站; 数据库适配器数据库助手; @凌驾 创建视图上的公共视图(布局、充气机、视图组容器、, Bundle savedInstanceState){ 视图=充气机。充气(R.layout.fragment\u my\u卡,容器,假); recycleView=(recycleView)view.findViewById(R.id.recycleView); recyclerView.setHasFixedSize(true); setLayoutManager(新的LinearLayoutManager(getActivity()); setItemAnimator(新的DefaultItemAnimator()); setAdapter(新的RecycleViewAdapter(dataBaseHelper.getData(),R.layout.custom_行)); 返回视图; } }
NullPointerExeption
已启用


RecycleView.setAdapter(newrecycleViewAdapter(dataBaseHelper.getData(),R.layout.custom_行))

在使用调用
DataBaseAdapter
类中的
getData()
方法之前,忘记初始化
dataBaseHelper

dataBaseHelper=new DataBaseAdapter(...); //<<< initialize here
    recyclerView.setAdapter(new RecycleViewAdapter(
               dataBaseHelper.getData(),R.layout.custom_row));

dataBaseHelper=newdatabaseadapter(…);//在从
DataBaseAdapter
类调用
getData()
方法之前,忘记初始化
dataBaseHelper

dataBaseHelper=new DataBaseAdapter(...); //<<< initialize here
    recyclerView.setAdapter(new RecycleViewAdapter(
               dataBaseHelper.getData(),R.layout.custom_row));

dataBaseHelper=newdatabaseadapter(…);//在从
DataBaseAdapter
类调用
getData()
方法之前,忘记初始化
dataBaseHelper

dataBaseHelper=new DataBaseAdapter(...); //<<< initialize here
    recyclerView.setAdapter(new RecycleViewAdapter(
               dataBaseHelper.getData(),R.layout.custom_row));

dataBaseHelper=newdatabaseadapter(…);//在从
DataBaseAdapter
类调用
getData()
方法之前,忘记初始化
dataBaseHelper

dataBaseHelper=new DataBaseAdapter(...); //<<< initialize here
    recyclerView.setAdapter(new RecycleViewAdapter(
               dataBaseHelper.getData(),R.layout.custom_row));
dataBaseHelper=newdatabaseadapter(…)//