我正在尝试使用 Intent 从一个 Activity 导航到另一个 Activity ,但是当调用 onclick 方法时我的应用程序崩溃,给出空指针异常,这里是我的适配器类的代码。
@Override
public void onBindViewHolder(absadapter.exViewHolder holder, final int position){
holder.exname.setText(exList.get(position).name);
holder.exlogo.setImageResource(exList.get(position).logoId);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (position == 0) {
Intent intent=new Intent(context,crunches.class);
context.startActivity(intent);
}
}
});
}
这是 logcat 错误:
FATAL EXCEPTION: main
Process: com.example.ruchit.totalfitness, PID: 1481
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
at android.content.ComponentName.<init>(ComponentName.java:130)
at android.content.Intent.<init>(Intent.java:5787)
at com.example.ruchit.totalfitness.absadapter$1.onClick(absadapter.java:60)
at android.view.View.performClick(View.java:6312)
at android.view.View$PerformClick.run(View.java:24811)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:171)
at android.app.ActivityThread.main(ActivityThread.java:6649)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)
最佳答案
改变这个
Intent intent=new Intent(context,crunches.class);
context.startActivity(intent);
至
v.getContext().startActivity(new Intent(v.getContext(), crunches.class));
希望对您有帮助!
关于java - 如何在适配器类中传递 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52642184/