AlertDialog PositiveButton和NegativeButton麻烦

时间:2012-03-27 06:24:45

标签: android alertdialog

我使用下面的代码在AlertDialog中显示文件夹列表:

ListDialog = new AlertDialog.Builder(MyActivity.this);
ListDialog.setTitle("Folder List");
ListView folder = new ListView(MyActivity.this);
//scan folder
folder.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View v, int position, long id) {
//scan sub-folder
});
ListDialog.setPositiveButton("Save", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
//do something
}
});
ListDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
//back
}
});

我想让AlertDialog的NegativeButton始终显示,而AlertDialog的PositiveButton仅在列表项目编号为0时显示。 怎么到达?

2 个答案:

答案 0 :(得分:3)

试试这个,它运作正常..

呼叫对话方法像这样,,,,

dialog_message("Dialog msg");


public void dialog_message(String msg) 
    {
          final AlertDialog alertDialog = new AlertDialog.Builder(BottomMenu_Event.this).create();

              alertDialog.setTitle("Title");
              alertDialog.setIcon(R.drawable.icon);
              alertDialog.setMessage(msg);

              alertDialog.setButton("Save", new DialogInterface.OnClickListener()
              {

               public void onClick(DialogInterface dialog, int which) 
               {
                  //Your Code....           
               }
              });

              alertDialog.setButton2("Cancel", new DialogInterface.OnClickListener() 
              {

               public void onClick(DialogInterface dialog, int which) 
               {       

                   alertDialog.dismiss();

               }
              });

              alertDialog.show();

    }

答案 1 :(得分:1)

放置条件,如果你的列表项给出0然后允许显示正面按钮,否则不是。

我尝试使用旗帜,当它不是真的它不会显示正面按钮,否则它将显示两者。

以下是代码

AlertDialog.Builder ListDialog;
     AlertDialog contactMessage;
    flag=true;
    ListDialog = new AlertDialog.Builder(AdvancedListViewActivity.this);
    ListDialog.setTitle("Folder List");
    if(flag!=true){
    ListDialog.setPositiveButton("Save", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface arg0, int arg1) {
    //do something
    }
    });
    }
    ListDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface arg0, int arg1) {
    //back
    }
    });

    contactMessage = ListDialog.create();
    contactMessage.show();

你也可以做同样的事情,在列表项不为零的情况下检查条件,避免使用正面按钮显示它。