我希望用我的SQLite数据库填充我的recyclerview,但我不确定如何这样做。我被困住了,不确定该怎么做。我相信它与适配器有关,但我不确定。
如果您需要查看和我的SQLite课程或者recyclerview活动等其他代码,请不要犹豫。
非常感谢任何帮助。
这是我的适配器:
public class SQLite_RecyclerViewAdapter extends RecyclerView.Adapter<SQLite_RecyclerViewAdapter.VHItem> {
List<SQLite_Information> data = Collections.emptyList();
public SQLite_RecyclerViewAdapter(Sqlite_activity sqlite_activity, List<SQLite_Information> data) {
this.data = data;
}
@Override
public VHItem onCreateViewHolder(ViewGroup parent, int viewType) {
return new VHItem(LayoutInflater.from(parent.getContext()).inflate(R.layout.custom_sqlite_row, parent, false)); }
@Override
public void onBindViewHolder(VHItem holder, int position) {
SQLite_Information sqLite_information = data.get(position);
holder.Score.setText(sqLite_information.mScore);
holder.Date.setText(sqLite_information.mDate);
}
@Override
public int getItemCount() {
return data.size();
}
class VHItem extends RecyclerView.ViewHolder {
TextView Score;
TextView Date;
public VHItem(View itemView) {
super(itemView);
Score = (TextView) itemView.findViewById(R.id.ScoreText);
Date = (TextView) itemView.findViewById(R.id.DateText);
}
}
}
答案 0 :(得分:0)
建议:SQLiteDatabase
有各种返回Cursor
的查询方法。 Cursor
可用于制作CursorAdapter
。因此,一种方法可能是将CursorAdapter
与RecyclerView.Adapter
一起包装并委托给CursorAdapter
。这是合适的,特别是如果您读取数据一次,并且不必通知ListView
有关刷新查询修改的数据。
如果您不了解CursorLoader
,请查看其工作原理。这是从查询中获取Cursor
的最佳方法,因为CursorLoader
负责在后台运行所有数据库查询。完成CursorLoader
后,获取生成的Cursor
并创建CursorAdapter
,然后创建RecyclerView.Adapter
子类。