簡體   English   中英

多個微調器使用一個具有不同值的列表

[英]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

  1. Q
  2. w ^
  3. Ë

旋轉器2

  1. Q
  2. w ^
  3. Ë

應該發生的結果(在我看來)是每個微調器中應該顯示兩個不同的列表。 與此類似:

旋轉器1

  1. 一種
  2. C

旋轉器2

  1. Q
  2. w ^
  3. Ë

我懷疑ArrayAdapters有一個我缺少的東西?

您正在為兩個旋轉器使用相同的列表,以查找項目相同的原因。

解決方案1:在本地聲明listDynamic。 listDynamic.clear(); - >列表listDynamic = new Arraylist();

解決方案2:為不同的微調器listDynamic1,listDynamic2使用不同的列表對象...

希望這會有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM