3 回答

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
最好的方法是使用自定義適配器,然后您可以將對(duì)象列表(在您的情況下是“銷售ID和名稱列表”)傳遞給適配器而不僅僅是字符串列表,然后在選擇的項(xiàng)目上,您將獲得所選對(duì)象,然后您可以獲得所需的任何id或名稱,您可以按照此鏈接使自定義適配器 https://abhiandroid.com/ui/custom-spinner-examples.html

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
我通過編輯代碼來解決這個(gè)問題
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
labels.add(cursor.getString(0)+cursor.getString(1));
} while (cursor.moveToNext());
}
并在項(xiàng)目上的微調(diào)器上選擇使用子字符串進(jìn)行操作
spsupir.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,long id) {
String label = parent.getItemAtPosition(position).toString();
String ids = String.valueOf(label).substring(0,1);
Log.d("label:", ids);
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
已編輯的代碼
String label = parent.getItemAtPosition(position).toString();
String ids = String.valueOf(label).substring(0,1);
Log.d("label:", ids);

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊
另一個(gè)解決問題
步驟 1 創(chuàng)建模型類
public class Sales {
String id_sales,nama;
public Sales(String id_sales, String nama) {
this.id_sales = id_sales;
this.nama = nama;
}
public String getId_sales() {
return id_sales;
}
public void setId_sales(String id_sales) {
this.id_sales = id_sales;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
@Override
public String toString() {
return nama;
}
}
步驟 2 從 SQLite 表銷售中放入所有數(shù)據(jù)
//Data spinner supir
public ArrayList<Sales> getSpinnerSales(){
ArrayList<Sales> salesList = new ArrayList<>();
// Select All Query
String selectQuery = "SELECT * FROM " + "sales";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
salesList.add(new Sales(cursor.getString(0), cursor.getString(1)));
} while (cursor.moveToNext());
}
// closing connection
cursor.close();
db.close();
// returning lables
return salesList;
}
步驟 3 生成 void 以使用 sqlite aa 活動(dòng)中的數(shù)據(jù)
private void loadSpinnerSales() {
// database handler
DatabaseHelper db = new DatabaseHelper(getApplicationContext());
ArrayList<Sales> salesList = db.getSpinnerSales();
ArrayAdapter<Sales> adapter = new ArrayAdapter<Sales>(this, android.R.layout.simple_spinner_dropdown_item, salesList);
spsales.setAdapter(adapter);
}
步驟 4 在 OnCreate 上加載方法
spsales = (Spinner) findViewById(R.id.spSales);
loadSpinnerSales();
spsales.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Sales sales = (Sales) parent.getSelectedItem();
Toast.makeText(getApplicationContext(),sales.getId_sales(),Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
添加回答
舉報(bào)