我正在在android studio中制作自定义启动器。使用recyclerview适配器,当我打开任何应用程序时都会出现此错误:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.android.launcherx, PID: 11553
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.content.Intent.migrateExtraStreamToClipData()' on a null object reference
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1666)
at android.app.Activity.startActivityForResult(Activity.java:4586)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:676)
at android.app.Activity.startActivityForResult(Activity.java:4544)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:663)
at android.app.Activity.startActivity(Activity.java:4905)
at android.app.Activity.startActivity(Activity.java:4873)
at com.android.launcherx.MainAdapter$ViewHolder.onClick(MainAdapter.java:67)
at android.view.View.performClick(View.java:6597)
at android.view.View.performClickInternal(View.java:6574)
at android.view.View.access$3100(View.java:778)
at android.view.View$PerformClick.run(View.java:25885)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
I/Process: Sending signal. PID: 11553 SIG: 9
这是我的viewHolder onclick方法,在context.getActivity()处报错
@Override
public void onClick(View view) {
int pos = getAdapterPosition();
Context context = view.getContext();
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(itemList.get(pos).name);
context.startActivity(launchIntent);
Toast.makeText(context, itemList.get(pos).name, Toast.LENGTH_LONG).show();
}
如何解决? 谢谢