Пытаюсь внедрить spinner
у себя в приложении. В списке есть три пункта, и по непонятной мне причине воспринимается выбор только 2,3 если начинать отсчет с 1. Вот мой предыдущий вопрос по этой теме - Как сделать сортировку списка в Android?. Вот что у меня получилось на данный момент:
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
switch (position) {
case 0:
messageArrayList = (ArrayList<Message>) Objects.requireNonNull(response.body()).getMessages();
adapter = new ListAdapter(messageArrayList, getActivity(), type);
recyclerView.setAdapter(adapter);
break;
case 1:
DateSort_theme ds = new DateSort_theme();
try {
messageArrayList = (ArrayList<Message>) Objects.requireNonNull(response.body()).getMessages();
adapter = new ListAdapter(messageArrayList, getActivity(), type);
recyclerView.setAdapter(adapter);
Collections.sort(messageArrayList, ds);
} catch (Exception ignored) {
}
break;
case 2:
DateSort_sender ds2 = new DateSort_sender();
try {
messageArrayList = (ArrayList<Message>) Objects.requireNonNull(response.body()).getMessages();
adapter = new ListAdapter(messageArrayList, getActivity(), type);
recyclerView.setAdapter(adapter);
Collections.sort(messageArrayList, ds2);
} catch (Exception ignored) {
}
break;
}
вроде все одинаковое у всех пунктов но почему-то выбирается только 2,3. А я хочу сделать, чтобы по умолчанию был выбран 1 пункт и дальше уже смотреть если 1,2,3 выбирается то что-то делать. Пробовал вставить еще дополнительно default
в блоке switch
но он тоже не выбирает по-умолчанию и вообще не видно что он работает. Наверное у меня где-то ошибка но не могу понять где именно.
mSwipeRefreshLayout.setRefreshing(true);
if (response.isSuccessful()) {
Integer count = Objects.requireNonNull(response.body()).getCount();
if (count > 0) {
recyclerView.setVisibility(View.VISIBLE);
spinner.setVisibility(View.VISIBLE);
/* messageArrayList = (ArrayList<Message>) Objects.requireNonNull(response.body()).getMessages();
adapter = new ListAdapter(messageArrayList, getActivity(), type);
recyclerView.setAdapter(adapter);*/
spinner.setSelection(0);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
switch (position) {
case 0:
messageArrayList = (ArrayList<Message>) Objects.requireNonNull(response.body()).getMessages();
adapter = new ListAdapter(messageArrayList, getActivity(), type);
recyclerView.setAdapter(adapter);
break;
case 1:
DateSort_theme ds = new DateSort_theme();
try {
messageArrayList = (ArrayList<Message>) Objects.requireNonNull(response.body()).getMessages();
adapter = new ListAdapter(messageArrayList, getActivity(), type);
recyclerView.setAdapter(adapter);
Collections.sort(messageArrayList, ds);
} catch (Exception ignored) {
}
break;
case 2:
DateSort_sender ds2 = new DateSort_sender();
try {
messageArrayList = (ArrayList<Message>) Objects.requireNonNull(response.body()).getMessages();
adapter = new ListAdapter(messageArrayList, getActivity(), type);
recyclerView.setAdapter(adapter);
Collections.sort(messageArrayList, ds2);
} catch (Exception ignored) {
}
break;
default:
messageArrayList = (ArrayList<Message>) Objects.requireNonNull(response.body()).getMessages();
adapter = new ListAdapter(messageArrayList, getActivity(), type);
recyclerView.setAdapter(adapter);
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
spinner.setSelection(2);
messageArrayList = (ArrayList<Message>) Objects.requireNonNull(response.body()).getMessages();
adapter = new ListAdapter(messageArrayList, getActivity(), type);
recyclerView.setAdapter(adapter);
mSwipeRefreshLayout.setRefreshing(false);
}
});
} else if (count == 0) {
recyclerView.setVisibility(View.GONE);
spinner.setVisibility(View.GONE);
ivPicture = Objects.requireNonNull(getActivity()).findViewById(R.id.ivNoMess);
ivPicture.setVisibility(View.VISIBLE);
}
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// Тут вешаешь Switch
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// Тут выполняешь код, если ничего не выбрано, например код первого кейса
}
});
Вообще Switch должен срабатывать у тебя, так как position по умолчанию равна 0, тут возникает вопрос где ты устанавливаешь слушателя на spinner? Слушатель должен быть установлен в onCreate
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть 3 буквы на входе "А В В" Нужно вывести в консоль? Так должна выглядеть буква
Когда я пытаюсь присвоить одно событие onTextChanged к одному EditText, чтобы значение из этого EditText записалось в другой EditText, всё работает хорошоНо...
нужно отступить от нижнего правого угла, но если в view посадить bottom и right любое значение, то ничего не происходит, а отступ идет, только если...
Ситуация следующая: Юзер логинится в личный кабинет, переходя по рестам в логах могу отловить его логинВ одном из классов, метод SecurityUtils