AlertDialog中的按钮未还原到onResume()中

时间:2018-07-25 19:23:52

标签: android button alertdialog

我有一个AlertDialog,其中包含一些输入文本框,如果某些事件迫使它们进入onSaveInstance,onResume事件中(如whatsapp弹出通知),则其内容将丢失,因此我必须保存它们并将其还原到onResume()。

作为某种原因的额外效果,如果我有一个带有正,负和中性按钮的对话框,则不会恢复负的对话框。

我尝试使用以下代码还原它,但是它不起作用。

在我的onSaveInstanceEvent上

if (input2 != null){
                cadenaasalvar2 = input2.getText().toString();    


                if (input2.getVisibility()==View.VISIBLE)
                {

                    input2visible=true;
                }
                else
                {
                    input2visible=false;
                }
            }

代码可能看起来很奇怪,但要点是,如果input2可见,那么对话框中的否定按钮也将如此。

在我的onResume()事件中

if (input2 != null) {
                        input2.setText(cadenaasalvar2);
                        input2.setSelection(cadenaasalvar2.length());

                        if (input2visible) {
                            Button button2 = ((AlertDialog) dialog1).getButton(AlertDialog.BUTTON_NEGATIVE);
                            String dsfds=button2.getText().toString();

                            button2.setVisibility(View.VISIBLE);


                        }
                    }

最奇怪的是,该程序似乎“知道”该按钮存在,我在dsfds中得到了相应的按钮文本,但是即使我明确告诉它显示它只是不显示,即使它执行button2.setVisibility(View.VISIBLE)指令。

会发生什么导致按钮不显示?

PD:dialog1确实显示在我的应用程序中,除了该按钮外,其他所有内容,我想如果错误在其中显示为初始状态,就不会显示该input2文本框,因为该文本框直到执行某些操作才显示通过AlertDialog执行。

0 个答案:

没有答案