2012-03-27 46 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