2011-08-05 8 views
3

私はsimpleAdaptorを使用してデータベースからスピナーを作成しているアンドロイドアプリケーションを開発しています。アンドロイドのデフォルトのスピナースタイル

SimpleCursorAdapter deptype =new SimpleCursorAdapter(this,R.layout.dbspinner, depcur, from, to); dep.setAdapter(deptype); 

データが正常に読み込まれていますが、私はスピナーの「ルック」が気に入らないのです。

私が得た1だけで全然美しくない線で区切られた内容を示している間、私は

ArrayAdapter<CharSequence> practype = ArrayAdapter.createFromResource(this,R.array.practice, android.R.layout.simple_spinner_item); 

となったスピナは、側のラジオボタンで、より美しいです。

dbspinnerのレイアウトにさまざまな変更を加えましたが、アンドロイドのデフォルト株スピナーとは何も変わりません。私もdbspinnerをandroid.R.layout.simple_spinner_itemに置き換えようとしましたが、ラジオボタンが付いた空白のボックスがありますがテキストはありませんでした。

在庫のデフォルトのスピナーを取得するにはどうすればよいですか?

データベースの内容を文字列に読み込んで配列アダプタに渡しますか?もしそうなら、それはどうですか?

答えて

3

simple_spinner_itemは、以下のように定義されます。

すなわち:

// Create the array containing column names 
String[] columns = new String[] { "ColumnNameX" }; 

// Create the array containing resource ids 
int[] resources = new int[] { android.R.id.text1 }; 

// Create the cursor adapter 
mCursorAdapter = new SimpleCursorAdapter(
    MyActivity.this, 
    android.R.layout.simple_spinner_item, 
    data, 
    columns, 
    resources); 
+0

まだ:(間のラインと小さな箱を示す使用はない:(私は直接それが動作する、アレイアダプタ – 8A52

+0

を使用することができることを行うことができた場合は文字列にデータベース列をロードする方法。?私はそれを使用しています。あなたはデータベースが実際に人口になっていることを確認し、あなたは正しい列名を使用していますか? –

+0

android:id = "@ android:id/text1" – 8A52

-1

あなたはこのコードを使用することができます:

AlertDialog.Builder builder=new AlertDialog.Builder(this); 
     builder.setTitle("Category"); 
     builder.setCancelable(true); 
     builder.setSingleChoiceItems(CATEGORIES_TXT, mSelectedCategory, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       //new category selected 
       dialog.dismiss(); 
      } 
     }); 
     AlertDialog alert=builder.create(); 
     alert.show(); 

CATEGORIES_TXT

は、選択したカテゴリを表すString []と mSelectedCategory intです。だから、リソースの整数配列にあなたのIDとして「テキスト1」を使用し、アイテムのビューとしてそれを使用する

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="?android:attr/spinnerItemStyle" 
    android:singleLine="true" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:ellipsize="marquee" />