在設計APP時,MIKE需要改變UI元件,但在測試的時候,APP一直出現錯誤
而錯誤的訊息如下所示。
timer android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
就是說我使用下列這個方法
public class MyTimerTask extends TimerTask
{
public void run()
{
//執行的程式碼
}
};
這種方法,並不能直接在裡面呼叫更改UI元件。
而解決的辦法也非常簡單,上網查有些人有很多方法,不過都過於複雜,我認為這方法最簡單了解。
就是在 public void run()裡面加入下列程式碼
runOnUiThread(new Runnable() {
public void run() {
//更改UI元件程式碼加在這
}
});
這樣就能成功了,而public class MyTimerTask extends TimerTask
程式碼大概如下
public class MyTimerTask extends TimerTask
{
public void run()
{
runOnUiThread(new Runnable() {
public void run() {
//更改UI元件程式碼加在這
}
}
});
}
};
希望這方法能幫助到你
android studio ,手機APP,手機APP教學,手機APP開發,java ,
文章標籤
全站熱搜