Suhasini k
Suhasini k

Reputation: 11

How to dissmiss alert dialog whem list item click in android

Here is my code:

When I click on textview one dialog displaying list is shown. When i select particular list item dialog is not dismissed. how to dismiss dialog when list item is clicked,

educationtxt=(TextView)findViewById(R.id.education_txt);
String[] educationarray = new String[]{"High School","Som College","Associates Degree","Bachelor Degree","Masters Degree","PHD"};
educationtxt.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
  final ListView lv ;
  AlertDialog.Builder alertDialog = new AlertDialog.Builder(RegistrationActivity.this);
  LayoutInflater inflater = getLayoutInflater();
  View convertView = (View) inflater.inflate(R.layout.custom_dialog, null);
  alertDialog.setView(convertView);
  alertDialog.setTitle("Education");
  View convertView1 = (View) inflater.inflate(R.layout.custom_dialog_row, null);
  TextView tv =(TextView)convertView1.findViewById(R.id.list_row_txt);
  lv = (ListView) convertView.findViewById(R.id.custom_listView1);
  lv.setBackgroundColor(Color.WHITE);
  ArrayAdapter<String> adapter = new ArrayAdapter<String>(RegistrationActivity.this,R.layout.custom_dialog_row,R.id.list_row_txt,educationarray);
  lv.setAdapter(adapter);
  lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
         education_selected = lv.getAdapter().getItem(position).toString();
         educationtxt.setText(education_selected);
         Toast.makeText(RegistrationActivity.this, "You Clicked at "+education_selected, Toast.LENGTH_SHORT).show();
         //here i want dismiss 
    }
  });
  alertDialog.show();   
 }
});

Upvotes: 0

Views: 1101

Answers (2)

Sanjay Hadiya
Sanjay Hadiya

Reputation: 945

Just Call this method and Show Dialog. Also Dismiss Dialog On Click ListItem

 public void showDialog(){
    final AlertDialog.Builder dialog = new AlertDialog.Builder(getContext());
    dialog.setTitle("Choose App");
    dialog.setCancelable(true);

    View view = ((Activity)getContext()).getLayoutInflater().inflate(R.layout.custom_dialog_all_app, null);
    list = (ListView) view.findViewById(R.id.AllAppList);
    AllAppPckName = getPackages();
    AllAppListAdapter adapter= new AllAppListAdapter(getContext(), R.layout.app_item, AllAppPckName);

    list.setAdapter(adapter);

    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            appIcon.setVisibility(View.VISIBLE);
            appIcon.setImageDrawable(getPackageIcon(getContext(), AllAppPckName.get(i)));
            appNameBtn.setText(getAppNameFromPkgName(getContext(), AllAppPckName.get(i)));

            dialogg.dismiss();


        }
    });


    dialog.setView(view);
    dialogg = dialog.show();
}

Upvotes: 0

Digvesh Patel
Digvesh Patel

Reputation: 6533

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                     @Override
                     public void onItemClick(AdapterView<?> parent, View view,
                                             int position, long id) {
                         education_selected = lv.getAdapter().getItem(position).toString();
                         educationtxt.setText(education_selected);
                         Toast.makeText(RegistrationActivity.this, "You Clicked at "+education_selected, Toast.LENGTH_SHORT).show();
                      //here i want dismiss 
                       alertDialog.dissmiss(); <----- add this lone to dismiss
                     }
                 });

and make alertdialoge as a final

Upvotes: 6

Related Questions