-1

ヘイ、スピナーにデータを実装するために SimpleCursorAdapter を使用しました。また、データを取得するために、次のコードを使用しました:

Cursor cursor = (Cursor) (spncomapnayname.getSelectedItem()); 
if (cursor != null) { 
    companyselected = cc.getString(cc.getColumnIndex(db.COMPANY_NAME)); 
} 

それはうまく機能しています.しかし、それはスピナーからデータを取得するためのものです.しかし、今、私たちが使用した通常のArrayAdapterスピナーの更新のためにユーザーによって挿入されたスピナーに特定のデータを設定したい:

spinnername.setSelection(adapter1.getPosition(abc)); 

スピナーでデータベースからデータを設定する方法を知りたいです。

ここに私のコードがあります:

cursor = db.getProductName(); 
adapter1 = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, cursor, new String[] { DB_Database.PRODUCT_NAME }, new int[] { android.R.id.text1 });
adapter1.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
spnproduct.setAdapter(adapter1);


purchaseproduct = purchasebundle.getString("clickedpurchaseproductname");
if(!purchaseproduct.equals("null")|| !purchaseproduct.equals("")) {
    System.out.println("purchaseproduct" + purchaseproduct); 
    String mypurchaseproduct=purchaseproduct;
    ArrayAdapter myAdap = (ArrayAdapter) spnproduct.getAdapter(); 
    int spinnerPosition = myAdap.getPosition(mypurchaseproduct); // set the default according to value 
    spnproduct.setSelection(spinnerPosition);
}

ここでバンドルからデータを取得します。スピナーでデータを取得したいです。データは SimpleCursorAdapter から取り込まれます

4

2 に答える 2

0

次のようなことができます。

Cursor c = (Cursor)parent.getItemAtPosition(pos);
int id = c.getInt(c.getColumnIndexOrThrow("columm_name"));

または文字列を取得する

String name=c.getString(c.getColumnIndexOrThrow("columm_name"));
于 2013-04-23T11:57:56.163 に答える
0

最初にカーソルから選択した値を取得して変数に保存しmString、以下のコードを使用してこの選択した値をスピナーに表示します。

if (!mString.equals("null") || !mString.equals("")) {
    String myString = mString; // the value you want the position for
    ArrayAdapter<String> myAdap = (ArrayAdapter<String>) mSpn1.getAdapter(); // cast to an ArrayAdapter
    int spinnerPosition = myAdap.getPosition(myString);
    // set the default according to value
    mSpn1.setSelection(spinnerPosition);
}
于 2012-09-15T07:23:24.003 に答える