2015-04-02 4 views
0

Я хочу заполнить мой recyclerview своей базой SQLite, но я не уверен, как это сделать. Я застрял и не знаю, как это сделать. Я считаю, что это имеет какое-то отношение к адаптеру, но снова я не уверен.Заполнить recyclerview с помощью базы данных SQLite?

Если вам нужно посмотреть и добавить код, например, мой класс SQLite или деятельность recycliewiew, пожалуйста, не стесняйтесь спрашивать.

Любая помощь была бы принята с благодарностью.

Вот мой адаптер:

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

Предложение: SQLiteDatabase имеет различные методы запросов, которые возвращают Cursor. A Cursor можно использовать для изготовления CursorAdapter. Таким образом, один подход может заключаться в том, чтобы обернуть CursorAdapterRecyclerView.Adapter и делегировать его CursorAdapter. Это было бы уместно, особенно если вы прочтете свои данные один раз, а ListView не должны быть уведомлены о данных, измененных с помощью запросов обновления.

Если вы не знаете о CursorLoader, изучите, как это работает. Это лучший способ получить Cursor s из запросов, так как CursorLoader заботится о запуске всех запросов базы данных в фоновом режиме. Когда закончится CursorLoader, возьмите полученный Cursor и создайте CursorAdapter, затем возьмите это и создайте свой подкласс RecyclerView.Adapter.

Смежные вопросы