大家好,我正在嘗試將數據放入 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
提交
取消