title: Button's text not change on RecyclerView
body: <p>I have a code for RecyclerView where I added 3 buttons one of them is Shortlist button. When I am clicking on button, success is coming from server on volley response. I need when I clicked on button then button's text should be changed and another's item will not be effected.</p>
  
  <p>Below is my CardAdapter class where I extends RecyclerView.Adapter</p>
  
  <pre><code>public class CardAdapter extends RecyclerView.Adapter&lt;CardAdapter.ViewHolder&gt; {
  private static final String url ="http://192.168.2.110/xp/shortlist1.php";
  private static final String url1 = "http://192.168.2.110/xp/express_intrest.php";
  private static final String KEY_MATRI_ID_TO="matriID_to";
  private static final String KEY_MATRI_ID_BY="matriID_by";
  
  SessionManager session;
  public String matri_id_to, matri_id_by, str_gender;
  String str;
  
  //Imageloader to load image
  private ImageLoader imageLoader;
  private Context context;
  
  //List to store all superheroes
  List&lt;SuperHero&gt; superHeroes;
  
  //Constructor of this class
  public CardAdapter(List&lt;SuperHero&gt; superHeroes, Context context){
      super();
      //Getting all superheroes
      this.superHeroes = superHeroes;
      this.context = context;
  }
  
  @Override
  public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
      View v = LayoutInflater.from(parent.getContext())
              .inflate(R.layout.superheroes_list, parent, false);
      // Session class instance
      session = new SessionManager(context);
      session.checkLogin();
      // get user data from session
      HashMap&lt;String, String&gt; user = session.getUserDetails();
      matri_id_by = user.get(SessionManager.KEY_EMAIL);
      str_gender = user.get(SessionManager.KEY_GENDER);
  
      ViewHolder viewHolder = new ViewHolder(v);
      return viewHolder;
  }
  
  @Override
  public void onBindViewHolder(final ViewHolder holder, final int position) {
  
      //Getting the particular item from the list
      final SuperHero superHero =  superHeroes.get(position);
  
      //Loading image from url
      imageLoader = CustomVolleyRequest.getInstance(context).getImageLoader();
      imageLoader.get(superHero.getImageUrl(), ImageLoader.getImageListener(holder.imageView, R.drawable.image, android.R.drawable.ic_dialog_alert));
  
      holder.imageView.setImageUrl(superHero.getImageUrl(), imageLoader);
      holder.textViewId.setText(superHero.getMglId());
      holder.AgeHeight.setText(superHero.getAgeHeight()+" / "+superHero.getAge());
      holder.Community.setText(superHero.getCommunity()+" / "+superHero.getCaste());
      holder.Occupation.setText(superHero.getOccupation());
      holder.Income.setText(superHero.getIncome());
      //   holder.btnShortlist.setText(superHero.getShortlist());
      //   holder.btnEI.setText(superHero.getExpress_Intrest());
  
      holder.btnShortlist.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
              superHero.setShortlist("Wait...");
              holder.btnShortlist.setText(superHero.getShortlist());
              matri_id_to = superHero.getMglId();
              holder.shortlist(position);
          }
      });
  
      str = superHero.getShortlist();
      Log.e("sh____________",str);
  
      if(str.toString().equalsIgnoreCase("shortlisted")) {
          holder.btnShortlist.setText(str);
          holder.btnShortlist.setBackgroundColor(Color.parseColor("#FF0E3671"));
          holder.btnShortlist.setEnabled(false);
      }
      else{
          holder.btnShortlist.setText(str);
      }
  
  
      holder.btnViewProfile.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View view) {
              Intent n = new Intent(holder.itemView.getContext(),BlankActivity.class);
              String str_id = holder.textViewId.getText().toString();
              n.putExtra("ID",str_id);
              holder.itemView.getContext().startActivity(n);
          }
      });
  
  
      holder.btnEI.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View view) {
          }
      });
  
  }
  
  public SuperHero getItem(int position){
      return superHeroes.get(position);
  }
  
  @Override
  public int getItemCount() {return superHeroes.size();}
  
  class ViewHolder extends RecyclerView.ViewHolder{
      public NetworkImageView imageView;
      public TextView textViewId;
      public TextView AgeHeight;
      public TextView Community;
      public TextView Occupation;
      public TextView Income;
      public Button btnShortlist;
      public Button btnViewProfile;
      public Button btnEI;
  
      //Initializing Views
      public ViewHolder(final View itemView) {
          super(itemView);
          imageView = (NetworkImageView) itemView.findViewById(R.id.imageViewHero);
          textViewId = (TextView) itemView.findViewById(R.id.textViewId);
          AgeHeight = (TextView) itemView.findViewById(R.id.AgeHeight);
          Community = (TextView) itemView.findViewById(R.id.Community);
          Occupation = (TextView) itemView.findViewById(R.id.Occupation);
          Income = (TextView) itemView.findViewById(R.id.Income);
          btnShortlist = (Button) itemView.findViewById(R.id.btnshort);
          btnViewProfile = (Button) itemView.findViewById(R.id.buttonViewProfile);
          btnEI = (Button) itemView.findViewById(R.id.btnExpressIntrest);
      }
  
      public void shortlist(final int position) {
          StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener&lt;String&gt;() {
              @Override
              public void onResponse(String response) {
                  if (response.trim().equalsIgnoreCase("success")) {
                      superHeroes.get(position).setShortlist("Shortlisted");
                      holder.btnShortlist.setText(superHero.getShortlist());
                      notifyDataSetChanged();
                  }
              }
          },
                  new Response.ErrorListener() {
                      @Override
                      public void onErrorResponse(VolleyError error) {
                          Toast.makeText(context, error.toString(), Toast.LENGTH_LONG).show();
                      }
                  }) {
              @Override
              protected Map&lt;String, String&gt; getParams() {
                  Map&lt;String, String&gt; params = new HashMap&lt;String, String&gt;();
                  params.put(KEY_MATRI_ID_BY, matri_id_by);
                  params.put(KEY_MATRI_ID_TO, matri_id_to);
                  return params;
              }
          };
          RequestQueue requestQueue = Volley.newRequestQueue(context);
          requestQueue.add(stringRequest);
        }
       }
      }
  </code></pre>