如何关闭或关闭AlertDialog?

时间:2012-04-23 12:46:45

标签: android listview alertdialog dismiss

我已将ListView放入AlertDialog,我想在单击ListView项目时关闭AlertDialog;我该怎么做?

public void createSearchDialog(final String[] Memo){
    LayoutInflater factory = LayoutInflater.from(this);
    View searchView = factory.inflate(R.layout.seach_dialog, null);

    lv = (ListView) searchView.findViewById(R.id.search_list);
    lv.setAdapter(new MyPerformanceArrayAdapter(this, Memo, memo_PW));
    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> arg0, View view, int position,long arg3) {
            // TODO Auto-generated method stub

                     /// close dialog
        }
    });

    searchBuilder = new AlertDialog.Builder(this);
    searchBuilder.setTitle("Search")
           .setView(searchView)
           .setNegativeButton("Back", new DialogInterface.OnClickListener() {               
            public void onClick(DialogInterface arg0, int arg1) {
                // TODO Auto-generated method stub

            }
        })
           .show();     
}

2 个答案:

答案 0 :(得分:1)

通过使用应用程序上下文,您可以通过调用dismiss来解雇。

Application.getProgressDialog().dismiss();

这必须在列表视图onItemClick()

中处理

答案 1 :(得分:1)

只需抓住指向你的alertdialog的指针

AlertDialog myDialog = searchBuilder.setTitle("Search")
           .setView(searchView)
           .setNegativeButton("Back", new DialogInterface.OnClickListener() {               
            public void onClick(DialogInterface arg0, int arg1) {
                // TODO Auto-generated method stub

            }
        }).create();

然后稍后您可以通过致电

解雇
myDialog.dismiss()