【发布时间】:2017-02-24 15:30:37
【问题描述】:
我在Service 中有一个AsyncTask。我从AsyncTask 发送ArrayList 作为广播。
当我在onReceive() 中得到ArrayList 时,我得到一个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:在 com.prematix.tollsystem.avcc.AvccActivity$ArrayListReceiver@42003268 中接收广播 Intent { act=arrayList flg=0x10 } 时出错 在 android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:798) 在 android.os.Handler.handleCallback(Handler.java:800) 在 android.os.Handler.dispatchMessage(Handler.java:100) 在 android.os.Looper.loop(Looper.java:194) 在 android.app.ActivityThread.main(ActivityThread.java:5391) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 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) 在 dalvik.system.NativeStart.main(本机方法) 引起:java.lang.NullPointerException 在 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.os.Handler.dispatchMessage(Handler.java:100) 在 android.os.Looper.loop(Looper.java:194) 在 android.app.ActivityThread.main(ActivityThread.java:5391) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:525)
【问题讨论】:
标签: java android nullpointerexception