使用SQLite数据库填充recyclerview?

时间:2015-04-02 23:44:23

标签: android sqlite android-recyclerview

我希望用我的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);
    }
}

}

1 个答案:

答案 0 :(得分:0)

建议:SQLiteDatabase有各种返回Cursor的查询方法。 Cursor可用于制作CursorAdapter。因此,一种方法可能是将CursorAdapterRecyclerView.Adapter一起包装并委托给CursorAdapter。这是合适的,特别是如果您读取数据一次,并且不必通知ListView有关刷新查询修改的数据。

如果您不了解CursorLoader,请查看其工作原理。这是从查询中获取Cursor的最佳方法,因为CursorLoader负责在后台运行所有数据库查询。完成CursorLoader后,获取生成的Cursor并创建CursorAdapter,然后创建RecyclerView.Adapter子类。