首页 > 解决方案 > 如何从类的方法传递意图的上下文?

问题描述

错误:java.lang.NullPointerException:尝试在 com.adriitsolutions.prarthana.AdapterForListView.MyRequestForBloodRequirementListRecyclerView$1.onClick(MyRequestForBloodRequirementListRecyclerView. java:153) 在 android.view.View.performClick(View.java:6935) 这是我的代码。

java ((myViewHolderForRecyclerViewOfMenu) viewHolder).iv_my_request_view.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // showLeadDetails(position); context.startActivity(new Intent( context , ViewDonorListActivity.class)) ; Log.e("ONCLICK", "查看请求"); } });



Adapter :  @Override
    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {



        holder.sendAt.setText(mData.get(position).getSendAt());
        holder.radius.setText(mData.get(position).getRadius());
        holder.acceptedStatus.setText(mData.get(position).getAcceptedStatus());

        holder.requestBloodGrpType.setImageResource(mData.get( position ).getRequestBloodGrpType() );
        //holder.requestUrgenyType.setImageResource( mData.get( position ).getRequestUrgencyType() );

        holder.viewRequest.setOnClickListener( new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mContext.startActivity(new Intent(mContext,ViewDonorListActivity.class));
            }
        } );

       /* holder.buttonView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mContext.startActivity(new Intent(mContext,ViewDonorListActivity.class));
            }
        });*/

    }

标签: javaandroid

解决方案


只需使用ViewHolder的itemView 中的上下文-

解决方案

Context context = holder.itemView.getContext();
context.startActivity(new Intent(context,ViewDonorListActivity.class));

推荐阅读