How to pass context for an intent from a method of a class?

Udit Pandya :

Error : java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference at com.adriitsolutions.prarthana.AdapterForListView.MyRequestForBloodRequirementListRecyclerView$1.onClick(MyRequestForBloodRequirementListRecyclerView.java:153) at android.view.View.performClick(View.java:6935) Here is my code.

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", "View Request"); } });



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));
            }
        });*/

    }
Udit Pandya :

i made an edit like this in my main activity :

   public static Context mContext;

public static Context getContext() {
    return mContext;
}

and later using this context i was able to pass an intent to call another activity !

Intent intent = new Intent( MyRequestActivity.getContext() , ViewDonorListActivity.class );
                        MyRequestActivity.getContext().startActivity( intent );

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=12269&siteId=1