-1
早上好!Android:由Handler造成的java.lang.RuntimeException
我有一個Android應用程序在谷歌播放存儲與小部件,從服務器加載一些數據。 在我的遊戲控制檯我得到以下異常:
java.lang.RuntimeException:
at android.os.AsyncTask$3.done (AsyncTask.java:318)
at java.util.concurrent.FutureTask.finishCompletion (FutureTask.java:354)
at java.util.concurrent.FutureTask.setException (FutureTask.java:223)
at java.util.concurrent.FutureTask.run (FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run (AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:607)
at java.lang.Thread.run (Thread.java:762)
Caused by: java.lang.RuntimeException:
at android.os.Handler.<init> (Handler.java:200)
at android.os.Handler.<init> (Handler.java:114)
at package.Widget.fehler (Widget.java:279)
at package.Widget_Server.doInBackground (Widget_Server.java:73)
at package.Widget_Server.doInBackground (Widget_Server.java:19)
at android.os.AsyncTask$2.call (AsyncTask.java:304)
at java.util.concurrent.FutureTask.run (FutureTask.java:237)
Java類「Widget_Server.java」開頭的連接,並從服務器獲取的DATAS。 「Widget.java」是Widget的Main_class。
Widget_Server.java,行73:
finally {
try {
reader.close();
} catch(Exception ex) {
EXCEPTION (line 73) -> widget.fehler("Fehler! #2215", context);
}
}
Widget.java,行279:
remoteViews.setTextViewText(R.id.label4, fehlerbeschreibung);
EXCEPTION (line 279) -> Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
remoteViews.setViewVisibility(R.id.loading, View. INVISIBLE);
update(context);
}
}, 1000);
處理程序初始化如何可以拋出一個runtime_exception(方法fehler(String, Context)
內)?
我已經搜索了很長時間,但我沒有找到有關這方面的信息。
感謝您的所有答案!
這就是解決方案,謝謝!我將類定義爲全局對象後的「Handler handler = new Handler()」稱爲「全局對象」。這避免了例外。 – Waldi