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 2014-10-11 12:06:16

+0

+1惊人的。感谢您的快速回复。 – 2014-10-11 12:12:00

尝试这种变化

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

     //user interface interactions and updates on screen 

      mHandler.postDelayed(mTicker, 1000); 

     } 
    }; 
    mTicker.run(); 

看来你想改变你的意见,每1秒。如果你这么说,你应该在可运行方法外执行你的处理程序。即:

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很好的评价。谢谢。 – 2014-10-11 12:48:12