如何显示上一个状态,如果你点击警报对话框的取消按钮多选择项目



在我的应用程序中,我使用的警报对话框由带有积极和消极按钮的多个选择项组成。如果您更改了选择项的状态,假设如果您单击ok按钮,那么下次对话框打开时,我想显示更新状态。如果你点击取消按钮,那么下次我想显示之前的状态。Ok按钮工作正常,但取消按钮功能不工作,我尝试过,但没有得到,请有人能帮助我。

代码:

protected Dialog onCreateDialog(int id) 
{
    switch (id) { 
    case DIALOG_MULTI_CHOICE:
         System.out.println("In dialog Choice_Checked:"+Arrays.toString(choice_checked));       
        return new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.singlechoicelistitem))
            .setTitle("Bookmarking for")
            .setMultiChoiceItems(choice, choice_checked, new OnMultiChoiceClickListener() {
                public void onClick(DialogInterface dialog, int index, boolean status) {                                      
                    if(status)
                    {
                        choice_checked_dynamic[index] = true;
                    }    
                    else
                    {
                        choice_checked_dynamic[index] = false;
                    }
                }                   
            })
            .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {                       
                    saveBookmarkAction();
                }
            })
            .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                      ((Builder) dialog).setMultiChoiceItems(choice, choice_checked, null);
                      ((Builder) dialog).create();                                          
                }
            })
           .create();
    }
    return null;
}

如果你的前一个状态是一个活动,然后onClick的取消按钮,意图到前一个活动,否则仅仅保持onClick函数空白将做的伎俩留在同一活动

位置对话框。

取消
.setNegativeButton("No", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
               }
           });

点击取消按钮你需要保存默认设置。

创建一个方法来设置默认设置并调用取消按钮的onclick方法

.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                       saveDefaultSettings(); //this method sets the default settings of tha app                                    
                }
            })

最新更新