0

SQLite データベースから入力するスピナーがあります。しかし、文字列配列から入力したい:

<string-array name="category">
    <item name="accommodation">Accommodation</item>
    <item name="automobile">Automobile</item>
    <item name="credit cards">Credit Cards</item>
    <item name="donations">Donations</item>
    <item name="entertainment">Entertainment</item>
    <item name="food">Food</item>
</string-array>

nameSQLiteテーブルから取得した場所。データベースから取得するメソッドがありnameます:

public Cursor getAllCategory() {
    mDB = dbHelper.getReadableDatabase();
    return mDB.query(CATEGORY_TABLE_NAME, null, null, null, null, null,null);
}

私のプログラムでは、次の名前を使用しています。

// spinner
        catSpinner = (Spinner) view.findViewById(R.id.category_spinner);
        cursor = adapter.getAllCategory();
        String[] from = new String[] { DataAdapter.CATEGORY_COL_NAME };
        int[] to = new int[] { android.R.id.text1 };
        SimpleCursorAdapter catAdapter = new SimpleCursorAdapter(
                getActivity(),
                android.R.layout.simple_spinner_dropdown_item, cursor,
                from, to, 0);
        catAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        catSpinner.setAdapter(catAdapter);

しかし、データベースからの名前を使用したいのですが、これらの名前に対応する値 (string.xml) からの使用string-array

どうすればこれを行うことができますか?ローカリゼーションを変更するときにデータベースを変更しないようにするために、これを行いたいと思います。

4

1 に答える 1

0

これを試してください。以下に示すスピナーにデータを取得するために使用する必要がSimpleCursorAdapterあります。

  // This is your method of database class which returns cursor
 Public Cursor getAllNames(){
   return mDb.query(table_name, new String[]{KEY_ROWID, KEY_TITLE}, null, null, null, null, null );
}

そして、スピナーでこのメソッドを使用して、アイテム(つまり名前)を取得します。

 Cursor c = mDbHelper.getAllNames();
 startManagingCursor(c);

  String[] from = new String[]{your_name};
// create an array of the name which you want to bind our data to
  int[] to = new int[]{android.R.id.text1};

  // This is your simple cursor adapter
   SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, c, from, to );
   adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );

   Spinner s = (Spinner) findViewById( R.id.unique_id ); // This is your spinner
   s.setAdapter(adapter); // Set it to the adapter

お役に立てれば。:)

于 2012-08-12T09:16:20.657 に答える