У меня есть класс, содержащий boolean
и ArrayList
. Я хочу заполнить Spinner
элементами внутри моего ArrayList
, но если значение boolean
истинно, я хочу показать все элементы, в противном случае я хочу скрыть некоторые элементы в диапазоне. Я пробовал следующее:Скрыть некоторые элементы в Spinner
Spinner modeSpinner = (Spinner) v.findViewById(R.id.btn_setup_mode_spinner);
ArrayList<String> modeList = enc.getModes();
ArrayAdapter<String> modeAdapter = new ArrayAdapter<String>(v.getContext(), android.R.layout.simple_spinner_item, modeList);
modeAdapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
modeSpinner.setAdapter(modeAdapter);
if(!boolean){
for(int i=4;i<8;i++){
modeAdapter.remove((String) modeAdapter.getItem(i));
modeAdapter.notifyDataSetChanged();
}
}
Но это не сработало. Каков правильный способ сделать это? Update: Рабочего код
Spinner modeSpinner = (Spinner) v.findViewById(R.id.btn_setup_mode_spinner);
ArrayList<String> modeList = enc.getModes();
ArrayAdapter<String> modeAdapter = new ArrayAdapter<String>(v.getContext(), android.R.layout.simple_spinner_item, modeList);
modeAdapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
modeSpinner.setAdapter(modeAdapter);
if(!boolean){
for(int i=4;i<modeList.size();i++){
modeAdapter.remove(modeList.get(i));
modeAdapter.notifyDataSetChanged();
i--;
}
}
Он работает, хотя я должен каждый раз инициализировать ArrayList. (getModes получает доступ статически) Мне также пришлось изменить цикл for. – Vektor88