title: How to make BaseAdapter show AlertDialog android Application
body: <p>How can I make the button in BaseAdapter in listView shows alertDialog, I tried that but it Stopped work unexpected (RunTime Error) my code is shown below .</p>
  
  <p>any suggestion </p>
  
  <p>thanks in advance  </p>
  
  <p>Monerah  </p>
  
  <p>====after Update =====================</p>
  
  <pre><code>import java.util.List;
  
  import android.app.AlertDialog;
  import android.content.Context;
  import android.content.DialogInterface;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.BaseAdapter;
  import android.widget.Button;
  import android.widget.TextView;
  import android.widget.Toast;
  
  public class MyCasesListAdapter extends BaseAdapter {
      private Context context;
  
      private List&lt;MyCaseClass&gt; listOfCases;
  
      // TODO delete it not imp.
      public MyCasesListAdapter() {
  
          super();
  
      }
  
      public MyCasesListAdapter(Context context, List&lt;MyCaseClass&gt; listPhonebook) {
          this.context = context;
          this.listOfCases = listPhonebook;
      }
  
      public int getCount() {
          return listOfCases.size();
      }
  
      public Object getItem(int position) {
          return listOfCases.get(position);
      }
  
      public long getItemId(int position) {
          return position;
      }
  
      public View getView(int position, View convertView, ViewGroup viewGroup) {
          MyCaseClass entry = listOfCases.get(position);
  
          if (convertView == null) {
  
              LayoutInflater inflater = (LayoutInflater) context
                      .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
              convertView = inflater.inflate(R.layout.mypage_row, null);
  
  
          }
  
          // this is row items..
          // Set the onClick Listener on this button
          Button ConfExpandRegion  = (Button) convertView.findViewById(R.id.expand);
          Button Cancelb = (Button) convertView.findViewById(R.id.cancelCase);
          TextView tvCase = (TextView) convertView.findViewById(R.id.mypage_name);
  
          //To be a clickable button
          ConfExpandRegion.setFocusableInTouchMode(false);
          ConfExpandRegion.setFocusable(false);
         //For Dialog
          AlertDialog alertDialog = new AlertDialog.Builder(MyCasesListAdapter.this);
         alertDialog.setTitle("Conformation");
         alertDialog.setMessage("Are you sure you want to do ???");
          ConfExpandRegion.setOnClickListener(new View.OnClickListener() {
  
              public void onClick(View v) {
                  // TODO Auto-generated method stub
                      alertDialog.setButton("Yes", new DialogInterface.OnClickListener() {
                     public void onClick(DialogInterface dialog, int which) {
                        // Some code
  
                         //ConfExpandRegion.setEnabled(false);
                     }
  
                  });
  
                  alertDialog.setButton2("No", new DialogInterface.OnClickListener() {
                     public void onClick(DialogInterface dialog, int which) {
                      // here you can add functions
                      // Do nothing 
  
  
  
  
                     }
                  });
  
                  alertDialog.setIcon(android.R.drawable.ic_dialog_alert);
                  alertDialog.show();
  
  
  
  
          }});
  
         //To be a clickable button
          Cancelb.setFocusableInTouchMode(false);
          Cancelb.setFocusable(false);
          Cancelb.setOnClickListener(new View.OnClickListener() {
  
              public void onClick(View v) {
                  // TODO Auto-generated method stub
                  MyCaseClass entry = (MyCaseClass) v.getTag();
                  listOfCases.remove(entry);
                  // listPhonebook.remove(view.getId());
                  notifyDataSetChanged();
              }
          });
  
          // Set the entry, so that you can capture which item was clicked and
          // then remove it
          // As an alternative, you can use the id/position of the item to capture
          // the item
          // that was clicked.
          ConfExpandRegion.setTag(entry);
          Cancelb.setTag(entry);
  
  
          // btnRemove.setId(position);
  
  
          return convertView;
      }
  
      public void onClick(View view) {
          MyCaseClass entry = (MyCaseClass) view.getTag();
          listOfCases.remove(entry);
          // listPhonebook.remove(view.getId());
          notifyDataSetChanged();
  
      }
  
      private void showDialog(MyCaseClass entry) {
          // Create and show your dialog
          // Depending on the Dialogs button clicks delete it or do nothing
      }
  
      public void add(MyCaseClass myCaseClass) {
          // TODO Auto-generated method stub
          listOfCases.add(myCaseClass);
      }
  
  
  
  
  
  
  }
  </code></pre>
  
  <p>//============================================================================</p>
  
  <pre><code>import java.util.ArrayList;
  import java.util.List;
  
  import android.app.Activity;
  import android.app.AlertDialog;
  import android.content.Intent;
  import android.os.Bundle;
  import android.telephony.SmsManager;
  import android.view.View;
  import android.widget.AdapterView;
  import android.widget.AdapterView.OnItemClickListener;
  import android.widget.Button;
  import android.widget.ListView;
  import android.widget.TextView;
  
  public class MyPage extends Activity {
  
      Button createForm;
      Button ConfExpandRegion, Cancelb;
      String ExpandMsg, CancelMsg;
      boolean b;
      MyCaseClass mycase;
      TextView tvCase;
      AlertDialog alertDialog;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.mypage);
  
  
          // Moving to anther activity
          createForm = (Button) findViewById(R.id.creat_new_formbtn);
          createForm.setOnClickListener(new View.OnClickListener() {
  
              public void onClick(View v) {
  
                  Intent j = new Intent(MyPage.this, CreateNewForm.class);
                  startActivity(j);
  
              }
          });
  
          // ============================================================================================
          // for list
  
  
              ListView list = (ListView) findViewById(R.id.mypage_list);
              list.setClickable(true);
  
              final List&lt;MyCaseClass&gt; listOfPhonebook = new ArrayList&lt;MyCaseClass&gt;();
  
              MyCasesListAdapter adapter = new MyCasesListAdapter(this, listOfPhonebook);
  
              for (MyCaseClass m : All_Static.getMyCaseList())
                  adapter.add(new MyCaseClass(m));
  
              // after fill the adapter.. assign the list to the adapter
              list.setAdapter(adapter);
  
              list.setOnItemClickListener(new OnItemClickListener() {
  
                  public void onItemClick(AdapterView&lt;?&gt; arg0, View view, int position, long index) {
                      System.out.println("sadsfsf");
                  ;
                  }
              });
              list.setAdapter(adapter);
          // ========================================================================================
  
      }
  
  
  
      public void sendSMS(String number, String msg) throws Exception {
          if (!b) {
              SmsManager smsManager = SmsManager.getDefault();
              smsManager.sendTextMessage(number, null, msg, null, null);
          }
          b = true;
      }
  
      // ========================================================================
  
  }
  </code></pre>