Service
에 AsyncTask
이 있습니다. AsyncTask
에서 브로드 캐스트로 ArrayList
을 보냅니다.BroadcastReceiver에서 arraylist를 얻으면 NullpointerException이 발생합니다.
ArrayList
이 onReceive()
인 경우 NullpointerException
이 표시됩니다.
이렇게하면 ArrayList
을 보냅니다.
transits_list = new ArrayList<Transit>();
transits_list.add(trs);
Intent arrayListIntent = new Intent("arrayList");
Bundle extra = new Bundle();
extra.putSerializable("transArray", transits_list);
intent.putExtra("extra", extra);
sendBroadcast(arrayListIntent);
Transit
클래스는 Serializable
를 구현합니다. ArrayList
@Override
public void onReceive(Context context, Intent intent) {
ArrayList<Transit> myList;
Bundle extra = getIntent().getBundleExtra("extra");
ArrayList<Transit> transArrayListFromBroadCast = (ArrayList<Transit>) extra.getSerializable("transArray");
System.out.print("transArrayListFromBroadCast "+transArrayListFromBroadCast);
}
내가이 줄 NullpointerException
를 얻을 받기
:
ArrayList<Transit> transArrayListFromBroadCast = (ArrayList<Transit>) extra.getSerializable("transArray");
로그에서 예외 :
치명적인 예외 : 주요 java.lang.RuntimeException가 : 브로드 캐스트 인 텐트 수신 중 오류가 발생했습니다. {act = arrayList flg = 0x10 } android.os.Handler.handleCallback에서 android.app.LoadedApk $ ReceiverDispatcher $ Args.run (LoadedApk.java:798) 에서 [email protected]3268 (Handler.java:800에서 android.os.Handler.dispatchMessage (Handler.java:100 AT) ) android.os.Looper.loop (Looper.java:194에서 ) android.app.ActivityThread.main (ActivityThread.java:5391에서 ) (네이티브 메소드) at java.lang.reflect.Method.invoke (Method.java:525) 에서 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit. java : 833) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:600) at dalvik.system.NativeStart.main (네이티브 메소드) 에 의해 발생 : java.lang.NullPointerException at com.prematix.tollsystem.avcc .AvccActivity $ ArrayListReceiver.onReceive (AvccActivity.java:271) android.app.LoadedApk $ ReceiverDispatcher $ Args.run (LoadedApk.java:788) android.os.Handler.handleCallback (Handler.java:800) android.app.ActivityThread.main (ActivityThread.java:5391)에서 android.os.Looper.loop (Looper.java:194) 에서 android.os.Handler.dispatchMessage (Handler.java:100) 에서 java.lang.reflect.Method.invoke에서 java.lang.reflect.Method.invokeNative (기본 방법) (Method.java:525)에서
는
감사합니다. 나는 너를 알게하려고 노력할 것이다. – Varun