안녕하세요!Android : Handler에 의해 발생한 java.lang.RuntimeException
서버에서 데이터를로드하는 위젯과 함께 Google Play 스토어에 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)
자바 클래스 "Widget_Server.java는"연결을 시작하고 서버에서 datas을 얻을 : 내 플레이 - 콘솔에서 나는 다음과 같은 예외를 얻을. "Widget.java"는 위젯의 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