spinner-menu с невидимым результатом выбора

190
20 ноября 2021, 14:20

делаю меню на спинере, но надо так, чтобы выбранное значение вызывало действие (в том числе и запуск новой Activity) и не отображалось в голове списка. С действием все понятно, и отображением - сделал с помощью setVisibility, но в тех случаях когда список открывается, но выбор не делается (клик в сторону), похоже событие не происходит и видимость предыдущего выбора запретить не удается, то, что раньше удачно запрещалось появляется. Список открываю отдельной кнопкой. может кто-то знает как не показывать выбранное значение. Может какое-то свойство или метод?

Всем кто прочитал и хотел помочь - Большое спасибо. Я решил проблему, но это трюковый способ. Добавил еще одно значение в массив списка, состоящее из пробелов и каждое событие спиннера завершал выбором этого значения: adapterView.setSelection(6); (В моем случае строка пробелов это шестой элемент массива. Таким образом если значение и появлялось, то оно состояло из одних пробелов.

Answer 1

Чтобы не отображалось выбранное значение добавил еще один элемент падающего списка (в данном случае шестой элемент списка), который состоит из пробелов - именно он оказывается в заголовке списка во всех случаях. Добавил слtдующие обработчики:

//Кнопку, при нажатии на которую список разворачивается:
  public void but_open(android.view.View view){
  spinner.setVisibility(View.VISIBLE);
  spinner.performClick();
}

//Обработчик выбора элемента списка:    
  @Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
    Intent intent;
    switch (i){
        case 0:{
            intent=new Intent(SaleActivity.this,ECRActivity.class);
            startActivity(intent);
        }break;
        ...
        ...
        ...
        case 5:{
            intent=new Intent(SaleActivity.this,ServiceActivity.class);
            startActivity(intent);
        }break;
        case 6:{
        }break;
    }
    //а на место выбранного элемента подставляется шестой, состоящий из пробелов
    adapterView.setSelection(6);
    adapterView.setVisibility(INVISIBLE);
}
//Обработчик, когда ни один элемент не выбран
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
    adapterView.setSelection(6);
    adapterView.setVisibility(INVISIBLE);
}
READ ALSO
Отображение границ на листе Excel с использованием Apache POI

Отображение границ на листе Excel с использованием Apache POI

подскажите пожалуйста имеется диапазон ячеек необходимо с использованием Apache POI отобразить все внутренние границы диапазона

143
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException

Я пытаюсь добавить запись в таблицы но при этом выбивает ошибку

335
Не производится запись в файл

Не производится запись в файл

Не создается сам файл и запись в него не производитсяКак можно исправить?

197
Где ошибка, нужна помощь?

Где ошибка, нужна помощь?

Нужно проверить массив на возрастание, убывание, одинаковые поля и поля зигзаги(1,2,-1,3,4)Если код работает отдельными частями правильно, то почему-то...

118