我不明白爲什麼我得到這個錯誤。 我一直在四處尋找不同的代碼,我用這個計時器之一,因爲我不知道如何坦率地使用Java定時器,現在它只是崩潰我的應用程序..任何幫助嗎?我得到了什麼樣的錯誤? Android定時器錯誤
timer.schedule(new TimerTask() {
public void run() {
findViewById(R.id.progressBar1).setVisibility(View.GONE);
findViewById(R.id.loadingn).setVisibility(View.GONE);
findViewById(R.id.tuser).setVisibility(View.VISIBLE);
findViewById(R.id.tpass).setVisibility(View.VISIBLE);
loginbutton.setVisibility(View.VISIBLE);
findViewById(R.id.username).setVisibility(View.VISIBLE);
findViewById(R.id.pass).setVisibility(View.VISIBLE);
timer.cancel();
}
}, 5000, 5000);
我忘了...這是個錯誤代碼:
12-24 05:53:19.639: E/AndroidRuntime(9887): FATAL EXCEPTION: Timer-0
12-24 05:53:19.639: E/AndroidRuntime(9887): android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
12-24 05:53:19.639: E/AndroidRuntime(9887): at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:4176)
12-24 05:53:19.639: E/AndroidRuntime(9887): at android.view.ViewRootImpl.invalidateChild(ViewRootImpl.java:749)
12-24 05:53:19.639: E/AndroidRuntime(9887): at android.view.ViewRootImpl.invalidateChildInParent(ViewRootImpl.java:805)
12-24 05:53:19.639: E/AndroidRuntime(9887): at android.view.ViewGroup.invalidateChild(ViewGroup.java:4005)
12-24 05:53:19.639: E/AndroidRuntime(9887): at android.view.View.invalidate(View.java:8591)
12-24 05:53:19.639: E/AndroidRuntime(9887): at android.view.View.setFlags(View.java:6718)
12-24 05:53:19.639: E/AndroidRuntime(9887): at android.view.View.setVisibility(View.java:4632)
12-24 05:53:19.639: E/AndroidRuntime(9887): at info.david.statusbar.MainActivity$1.run(MainActivity.java:43)
12-24 05:53:19.639: E/AndroidRuntime(9887): at java.util.Timer$TimerImpl.run(Timer.java:284)
它是如何編制? – Blackbelt
您無法直接從計時器線程訪問UI元素 –