-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);
}

在这里我从 bundle 获取数据。我想检索 Spinner 上的数据。数据是从 SimpleCursorAdapter 填充的

4

2 回答 2

0

首先从光标中获取选定的值并存储到mString变量中,然后使用下面的代码将此选定的值显示到 Spinner 中。

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 回答
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 回答