【问题标题】:Populate a recyclerview with a SQLite database?使用 SQLite 数据库填充 recyclerview?
【发布时间】:2015-04-02 23:44:22
【问题描述】:

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

}

【问题讨论】:

    标签: android sqlite android-recyclerview


    【解决方案1】:

    建议:SQLiteDatabase 有多种返回Cursor 的查询方法。 Cursor 可用于创建CursorAdapter。所以一种方法可能是用RecyclerView.Adapter 包装CursorAdapter 并委托给CursorAdapter。如果您只读取一次数据并且不必通知 ListView 刷新查询修改的数据,这将是合适的。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-19
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      相关资源
      最近更新 更多