大家好,我正在尝试将数据放入 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 referenceW/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)
1 回答
慕容708150
TA贡献1831条经验 获得超4个赞
您应该在适配器中传递您的上下文,如下例所示
活动
adapter = new EventsAdapter(myList,MainActivity.this);
分段
adapter = new EventsAdapter(myList,getActivity());
或者其他方式
@Override
public void onClick(View v) {
v.getContext().startActivity(v.getContext(), ShowActivityEvents.class);
}
添加回答
举报
0/150
提交
取消