猿问

将 Intent Data 发送到另一个 Activity android.content

大家好,我正在尝试将数据放入 putExtra => 意图从适配器到另一个活动,但每次我尝试从适配器获取数据到活动时,它都会给我这个异常

java.lang.String android.content.Context.getPackageName()'

所以我试图进入 Context 类,我发现它太多了,直到现在错误都无法解决

是什么让我真正相信 Context 的问题在于当我尝试使用TinyDB 时

它需要在适配器内部定义对象

tinyDB = 新 TinyDB(mContext);

程序崩溃并给我这个异常

    W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference

W/System.err:     at android.content.ComponentName.<init>(ComponentName.java:128)

                  at android.content.Intent.<init>(Intent.java:4910)

                  at com.team.plustegara.Views.Models.Adapters.EventsAdapter$1.onClick(EventsAdapter.java:83)

                  at android.view.View.performClick(View.java:5647)

                  at android.view.View$PerformClick.run(View.java:22465)

                  at android.os.Handler.handleCallback(Handler.java:754)

                  at android.os.Handler.dispatchMessage(Handler.java:95)

W/System.err:     at android.os.Looper.loop(Looper.java:163)

                  at android.app.ActivityThread.main(ActivityThread.java:6238)

                  at java.lang.reflect.Method.invoke(Native Method)

                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)

                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)


江户川乱折腾
浏览 221回答 1
1回答

慕容708150

您应该在适配器中传递您的上下文,如下例所示活动adapter = new EventsAdapter(myList,MainActivity.this);分段adapter = new EventsAdapter(myList,getActivity());或者其他方式@Overridepublic void onClick(View v) {&nbsp; &nbsp; v.getContext().startActivity(v.getContext(), ShowActivityEvents.class);}
随时随地看视频慕课网APP

相关分类

Java
我要回答