2017-05-26 14 views
-2

私はSQLiteデータベースを作成し、それに文字列を格納して、recyclerView内のtextviewに表示します。配列をどのように初期化すればよいですか?SQLiteを使用してrecyclerViewに文字列の配列を表示

public class DatabaseHelper extends SQLiteOpenHelper { 

    public static final String DATABASE_NAME = "Student.db"; 
    public static final String TABLE_NAME = "student_table"; 
    public static final String Col_1 = "ID"; 
    public static final String Col_2 = "Title"; 
    public static final String Col_3 = "Content"; 
    public static final String Col_4 = "Remarks"; 


    public DatabaseHelper(Context context) { 
     super(context, DATABASE_NAME, null, 1); 
     SQLiteDatabase db = this.getWritableDatabase(); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     db.execSQL("create table " +TABLE_NAME+"(ID INTEGER PRIMARY KEY AUTOINCREMENT, Title TEXT, Content TEXT, Remarks TEXT)"); 

    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     db.execSQL("DROP TABLE IF EXISTS"+TABLE_NAME); 

    } 
} 

、これは私がcardView初期化する方法である:

DatabaseHelper ここ

private void initializeCardItemList(){ 
     CardItemModel cardItemModel; 
     /*String[] cardTitles = getResources().getStringArray(R.array.cat1_cards); 
     String[] cardContents = getResources().getStringArray(R.array.cat1_cards_content); */ 
     final int length = cardTitles.length; 
     for(int i=0;i<length;i++){ 
      cardItemModel = new CardItemModel(cardTitles[i],cardContents[i]); 
      cardItems.add(cardItemModel); 
     } 
    } 
+0

あなたは実際にデータベースでArraylistを使用する必要がありますが、答えはSELECTクエリです。あなたの質問を編集して解決策にいくつか含めるようにしてください。あなたはどこにいるのかわかります –

+0

典型的な配列を使う代わりに 'ArrayList 'を試みましたか? –

答えて

1

初期化:

DatabaseHelper=new DataBaseAdapter(...);// initialize here 
    recyclerView.setAdapter(new RecycleViewAdapter(
       DataBaseHelper.getData(),R.layout.rec_layout)); 
0

推測あなたがから文字列を照会するSQLiteDatabase.query()を使用データベース。

ArrayList<String> mStrings = new ArrayList<>(); 
while (mCursor.moveToNext()) { 
    int columnIndex = cursor.getColumnIndex("column_name"); 
    mStrings.add(cursor.getString(columnIndex); 
} 

mCursor内部mStringsにすべての文字列を追加します。あなたは、Cを初期化してきたので、後にそれを行うことができます。 ArrayList<>.get()メソッドを使用して文字列にアクセスできます。

編集:あなたはその後、RecyclerView.AdapterコンストラクタでArrayList<String>オブジェクトを渡し、それがRecyclerView.Adapter.onBindViewHolder()中にTextViewによって表示されるように設定することができます。

関連する問題