1
我想循環更新Android佈局。爲此,我編寫了一個從TimerTask
派生的簡短課程。 不幸的是,我的代碼導致了一個異常,我真的不知道,問題可能是什麼。 :(派生的TimerTask類中的錯誤:`不能在未調用Looper.prepare()的線程內創建處理程序`
因此,也許有人可以幫助
感謝
克里斯
這裏是我的代碼: 在主要活動我有:
private MyLayoutClass m_MyLayout;
...
public void onCreate(Bundle savedInstanceState)
{
...
m_MyLayout = new AdLayout(this);
Timer caretaker = new Timer();
caretaker.schedule(new MyReloadTimerTask(m_MyLayout), 1000, 5000);
...
}
這是我的派生的TimerTask類:
public class MyReloadTimerTask extends TimerTask
{
private MyLayoutClass m_MyLayout;
public MyReloadTimerTask(MyLayoutClass aLayout)
{
m_MyLayout = aLayout;
}
@Override
public void run()
{
m_MyLayout.doReload();
}
}
的doReload()不能被執行,我得到一個異常此消息:Can't create handler inside thread that has not called Looper.prepare()
的TimerTask在不同的線程中運行。所以你不能從後臺線程更新/訪問ui。 'doReaload()'做了什麼 – Raghunandan