2012-03-27 48 views
0

我用下面的代码来显示AlertDialog文件夹列表:AlertDialog PositiveButton和NegativeButton麻烦

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。 如何到达它?

+0

您必须创建自定义对话框或为您的案例使用两种不同的警报。 – 2012-03-27 06:33:31

+0

我已经过去的代码示例看到,它工作正常.. – Hasmukh 2012-03-27 06:40:35

回答

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

看跌状态,如果你的列表项给出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(); 

同样的事情,你也可以做,检查状态,同时您的列表项不为零,避免正面按钮,否则显示它。

+0

它只检查第一次。如果扫描子文件夹并显示它不再检查。 – brian 2012-03-27 06:59:11

+0

对不起,没有得到你。 – RobinHood 2012-03-27 07:00:40

+0

无论如何,谢谢你! – brian 2012-03-27 07:10:10