我有活動,用戶可以選擇一些產品類別上的spinners。由於我有14個類別,爲了避免ScrollView
開銷用戶可以動態添加spinners(最多14)到ScrollView
。我的目標是避免所選項目中出現重複。例如:如果用戶選擇類別A
,它必須從ArrayAdapter
中刪除,並且不可用於選擇,如果用戶決定將類別A
更改爲B
,則必須再次提供A
。什麼可能的解決方案?更新ArrayAdapter取決於微調項目選擇
UPDATE 我下面的想法
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
//Create temporary array list
ArrayList<String> tempArray = new ArrayList<>();
//Go trough all spinners and add selected items to temp array list
for(int i =1001; i<categorySpinnerId-1; i++){
tempArray.add(((Spinner)findViewById(i)).getSelectedItem().toString());
}
//Remove from original array list items of temp array list
categoryArrayList.removeAll(tempArray);
categorySpinnerAdapter.notifyDataSetChanged();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
但在這種情況下,我收到下面的問題。例如,用戶添加了5個spinners。第一名選手有14個選項,第二名13名(不包括首選),第三名12名(不包括第一名和第二名)等等。新創建的微調器選擇不會影響以前的微調器選項列表。
你嘗試過這個東西。請提供您的代碼片段.. – ELITE