[英]How to retrieve individual selections from multiple spinners using one adapter?
[英]Multiple spinners using one list with different values
我有以下代碼,它添加了基於循環的微調器(我的循環在我的真實版本中是不同的,但在這里簡化,因為結果是相同的)。
for(int i = 0; i < 2; i++{
Spinner spinner = new Spinner(this);
spinner.setId(result.getInt(0));
Cursor result2 = databaseHelper.retrieveData(DatabaseHelper.LISTTABLE,"`Select list`",result.getString(8),null);
listDynamic.clear();
listDynamic.add("");
for(int j = 0; j < result2.getCount(); j++){
result2.moveToNext();
listDynamic.add(result2.getString(7));
}
ArrayAdapter arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, listDynamic);
spinner.setAdapter(arrayAdapter);
result2.close();
listSpinners.add(spinner);
rlParent.addView(spinner);
}
那么有效:旋轉器按預期工作。
代碼生成此結果:微調器將僅使用listDynamic和arrayAdapter的最后一次迭代。 基本上導致以下結果:
旋轉器1
旋轉器2
應該發生的結果(在我看來)是每個微調器中應該顯示兩個不同的列表。 與此類似:
旋轉器1
旋轉器2
我懷疑ArrayAdapters有一個我缺少的東西?
您正在為兩個旋轉器使用相同的列表,以查找項目相同的原因。
解決方案1:在本地聲明listDynamic。 listDynamic.clear(); - >列表listDynamic = new Arraylist();
解決方案2:為不同的微調器listDynamic1,listDynamic2使用不同的列表對象...
希望這會有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.