在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(…)//