Java RecyclerView中的onClickListener有问题

Java RecyclerView中的onClickListener有问题,java,android,android-recyclerview,Java,Android,Android Recyclerview,我刚刚添加了一个意图,这样我可以在点击“回收器”视图中的一个项目时进入下一页,但我在那里遇到了一个错误,我还添加了一条关于点击该项目的Toast消息,这很好,但意图正在使应用程序崩溃。我还在适配器中添加了这些代码,而不是在主活动中。需要帮忙吗,谢谢 public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) { if (holder instanceof Ite

我刚刚添加了一个意图,这样我可以在点击“回收器”视图中的一个项目时进入下一页,但我在那里遇到了一个错误,我还添加了一条关于点击该项目的Toast消息,这很好,但意图正在使应用程序崩溃。我还在适配器中添加了这些代码,而不是在主活动中。需要帮忙吗,谢谢

public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) {
        if (holder instanceof ItemViewHolder) {
            final Notifications notification = notifications.get(position);
            final ItemViewHolder viewHolder = (ItemViewHolder) holder;
            viewHolder.title.setText(notifications.get(position).getTitle());
            viewHolder.description.setText(notifications.get(position).getDescription());
            viewHolder.date.setText(notifications.get(position).getDate());
            viewHolder.itemView.setBackgroundColor(Color.GRAY);

            viewHolder.notificationLay.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Toast.makeText((firebaseMain)activity, "Item clicked " + position, Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent(firebaseMainActivity, NotificationDetails.class);
                    context.startActivity(intent);
                }
            });
        } else if (holder instanceof LoadingViewHolder) {
            LoadingViewHolder loadingViewHolder = (LoadingViewHolder) holder;
            loadingViewHolder.progressBar.setIndeterminate(true);
        }

    }
E/AndroidRuntime:致命异常:主
流程:com.app.sample.collegeautomation,PID:1875
java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“java.lang.String android.content.Context.getPackageName()”
位于android.content.ComponentName。(ComponentName.java:130)
位于android.content.Intent.(Intent.java:6082)
在com.app.sample.collegeautomation.firebaseNotifications.firebaseListViewAdapter$3.onClick上(firebaseListViewAdapter.java:146)
在android.view.view.performClick上(view.java:6597)
位于com.balysv.materialripple.MaterialRippleLayout$PerformClickEvent.run(MaterialRippleLayout.java:648)
在com.balysv.materialripple.MaterialRippleLayout$3.onAnimationEnd(MaterialRippleLayout.java:336)
位于android.animation.Animator$AnimatorListener.onAnimationEnd(Animator.java:552)
位于android.animation.AnimatorSet.endAnimation(AnimatorSet.java:1294)
位于android.animation.AnimatorSet.doAnimationFrame(AnimatorSet.java:1079)
位于android.animation.AnimationHandler.doAnimationFrame(AnimationHandler.java:146)
**创建适配器类的构造函数并传递上下文**
公共UserListAdapter(上下文、int资源、列表对象){
超级(上下文、资源、对象);
this.ctx=上下文;
}
**现在通过这个ctx**
意向意向=新意向(ctx,AlarmDispositonActivity.class);
意向。额外支出(捆绑);

firebaseMainActivity
为空。我确实已首先将其初始化为主java文件本身。哪一行是第146行?为什么在3行中使用3个不同的上下文变量?这太令人困惑了?此处可能
firebaseMainActivity
为空。。您是如何初始化所有这些上下文并添加代码的。如果您想知道为什么
firebaseMainActivity
Context
为空,您需要提供更多信息。否则,只需使用
activity
来代替这两个,因为它显然不是空的,因为它不会在
Toast
上崩溃。
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.app.sample.collegeautomation, PID: 1875
    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:6082)
        at com.app.sample.collegeautomation.firebaseNotifications.firebaseListViewAdapter$3.onClick(firebaseListViewAdapter.java:146)
        at android.view.View.performClick(View.java:6597)
        at com.balysv.materialripple.MaterialRippleLayout$PerformClickEvent.run(MaterialRippleLayout.java:648)
        at com.balysv.materialripple.MaterialRippleLayout$3.onAnimationEnd(MaterialRippleLayout.java:336)
        at android.animation.Animator$AnimatorListener.onAnimationEnd(Animator.java:552)
        at android.animation.AnimatorSet.endAnimation(AnimatorSet.java:1294)
        at android.animation.AnimatorSet.doAnimationFrame(AnimatorSet.java:1079)
        at android.animation.AnimationHandler.doAnimationFrame(AnimationHandler.java:146)
**create the constrtuctor of the adapter class and pass context**

public UserListAdapter(Context context, int resource,List<UserListDataModel> objects) {
    super(context, resource, objects);
    this.ctx = context;
}
**now in Intent pass this ctx**

Intent intent = new Intent(ctx,AlarmDispositonActivity.class);
    intent.putExtras(bundle);