handlecallback,myviewholder.onclick

nbysray5  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(290)

我在androidstudio运行应用程序时遇到了一个意外错误,点击目标图片应用程序崩溃了,下面是我收到的错误消息。

Process: com.salman.firebasecomicreaderapp, PID: 2874
    android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
        at android.app.ContextImpl.startActivity(ContextImpl.java:952)
        at android.app.ContextImpl.startActivity(ContextImpl.java:928)
        at com.salman.firebasecomicreaderapp.Adapter.MyComicAdapter$1.onClick(MyComicAdapter.java:53)
        at com.salman.firebasecomicreaderapp.Adapter.MyComicAdapter$MyViewHolder.onClick(MyComicAdapter.java:89)
        at android.view.View.performClick(View.java:7125)
        at android.view.View.performClickInternal(View.java:7102)
        at android.view.View.access$3500(View.java:801)
        at android.view.View$PerformClick.run(View.java:27336)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)```
gr8qqesn

gr8qqesn1#

要么您没有正确缓存上下文对象,要么您运行的是android 28(android p)
试试下面的方法

myViewHolder.setRecyclerItemClickListener(new IRecyclerItemClickListener() { @Override public void onClick(View view, int position) { 
   Intent intent = new Intent(context,ChapteraActivity.class);
   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   }
  context.startActivity(intent);
 } 
});

相关问题