2014-10-11 8 views
0

У меня есть runnable внутри фрагмента. Переменная предназначена для обновления текстовых просмотров, а также для ввода ввода с помощью кнопок. Но программа не входит ни разу в runnable.Runnable Handler не выполняет внутри фрагмента. Не удалось запустить runnable

Пожалуйста, помогите. Что я делаю не так. Спасибо. Код выглядит следующим образом. У меня есть кнопки и текстовые изображения внутри runnable.

public class TodayFragment extends Fragment { 
//initialisations 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

//UI initialisations 

Handler mHandler = new Handler(); 
Runnable mTicker = new Runnable() { 
      @Override 
      public void run() { 

//user interface interactions and updates on screen 

    mHandler.postDelayed(mTicker, 1000); 


    mTicker.run(); 

} 
+0

Перед тем, как mTicker.run(), нет фигурной скобки. поэтому его внутри метода запуска и никогда не выполняется – Izu

+0

+1 Удивительно. Спасибо за быстрый ответ. –

ответ

0

попробовать это изменение

mTicker = new Runnable() { 
     public void run() { 

     //user interface interactions and updates on screen 

      mHandler.postDelayed(mTicker, 1000); 

     } 
    }; 
    mTicker.run(); 
2

кажется, что вы хотите изменить свои взгляды на каждый 1 секунду. если вы так говорите, вы должны также выполнить свой обработчик вне вашего метода runnable. i.e:

Handler mHandler = new Handler(); 
    Runnable mTicker = new Runnable() { 
     @Override 
     public void run() { 

      // user interface interactions and updates on screen 
      // if you want to run this handler only once then delete below line 
      mHandler.postDelayed(mTicker, 1000); 

     } 
    }; 

mHandler.postDelayed(mTicker, 1000); 
+0

+1 отличная обратная связь. Благодарю. –