Перед тем, как отмечать как дубликат, пожалуйста, прочитайте сообщение.Загрузка Spinner content
Я использую в своем приложении Spinner
и заполняю его данными с сервера в методе onCreate
.
Все работает нормально, если в течение onCreate
пользователь имеет подключение к Интернету.
В другом случае Spinner
держит один пункт «Выбрать пункт»
Мне нужно решение, чтобы снова загрузить данные прядильщика на время выполнения
(если она не была загружена во время onCreate()
) каждый раз, когда пользователь нажимает на блесну ,
Идеальное решение было бы чем-то вроде onFocusChaneListenner
- здесь я мог бы загружать данные с сервера, когда пользователь нажимает на счетчик.
Но, к сожалению, это не работает, и я не вижу выбора.
Spinner spinner = (Spinner) rootView.findViewById(R.id.spinner);
spinner.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// here would would be great to update when receive focus
}
});
Я думал о реализации custom Spinner
, который onItemSelected
будет называться, когда Spinner испытывает один или ноль itebs.
Но здесь пользователь должен выбрать что-то (или ничего), а затем снова вернуться к нему, чтобы увидеть обновленные данные, чтобы он казался не идеальным.
Должен ли я просто проверять, были ли данные загружены через некоторый период времени, не полагаясь на вмешательство пользователя с помощью Spinner?
вы можете использовать TimerTask, пока ваши данные не будут загружены. –