2016-01-29 3 views
0

Перед тем, как отмечать как дубликат, пожалуйста, прочитайте сообщение.Загрузка 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?

+0

вы можете использовать TimerTask, пока ваши данные не будут загружены. –

ответ

1

Для того, чтобы загрузить данные в Spinner Interaction, используйте OnTouchListener.

Spinner spinner = (Spinner) rootView.findViewById(R.id.spinner); 
spinner.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     if(event.getAction() == MotionEvent.ACTION_UP){ 
      // load data here 
     } 
     return false; 
    } 
}); 
+0

Спасибо! Это то, что мне нужно – Androider

+0

Ваше приветствие :) @Androider –

Смежные вопросы