2015-04-02 146 views
0

我想用我的SQLite數據庫填充我的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); 
    } 
} 

} 

回答

0

建議:SQLiteDatabase具有多種查詢方法返回一個Cursor。 A Cursor可用於製作CursorAdapter。所以一種方法可能是將CursorAdapter換成RecyclerView.Adapter並委託給CursorAdapter。如果您只讀取一次數據,並且不需要通知有關由刷新查詢修改的數據的ListView,這將是適當的。

如果你不知道關於CursorLoader,請看看它是如何工作的。這是從查詢中獲得Cursor的最佳方法,因爲CursorLoader負責在後臺運行所有數據庫查詢。當CursorLoader完成後,請生成Cursor並創建CursorAdapter,然後創建您的RecyclerView.Adapter子類。