在设置按钮

时间:2017-06-30 11:11:26

标签: android

我想我检查了所有相关的答案,但没有一个对我有效。

我有一个操作栏,可以选择更改网址,该选项会打开一个提醒对话框。 代码会在第一次单击时更改当前页面URL。

问题是,当我第二次点击该选项时,应用程序崩溃了 我尝试在中性按钮中使用dialog.dismiss()dialog.close(),但它们不适用于创建的AlertDialog.Builder,因此我尝试添加AlertDialog,这没有多大意义。 我读过你应该在create()正面按钮监听器中调用onClick方法,但是如果我这样做,我就不能在第二个按钮中使用相同的警告对话框。我尝试将其放在actionbar方法之外,然后在正面按钮内初始化,但在第二次点击时关闭应用程序。
setPositiveButton之前将其作为最终内容放在案例中,但是当我单击菜单中的选项时,按钮不显示,因为它们稍后在代码中设置。

我也不确定是否应该在adWeb或webAlert上调用show()方法。如果我在adWeb上调用它,则不会显示任何内容。

这是当前的代码:

case 0:
            webAlert.setMessage("Enter url");
            webAlert.setTitle("Replacing the web page");

            webAlert.setView(edittext);

            final AlertDialog adWeb = webAlert.create();
            webAlert.setPositiveButton("Submit", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    if(edittext.getText().toString().contains("https") || (edittext.getText().toString().contains("http")))
                        wv.loadUrl(edittext.getText().toString());

                    wv.loadUrl("https:\\" + edittext.getText().toString());
                    webSettings.setBuiltInZoomControls(true);
                    wv.setWebViewClient(new Callback());

                }
            });

            webAlert.setNeutralButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    adWeb.dismiss();
                }
            });
            webAlert.show();
            return true;

提前致谢!

1 个答案:

答案 0 :(得分:0)

  

webAlert.setView(edittext);

这可能应该是:

webView.setView(new EditText(context));

或者:

EditText editText = (EditText) LayoutInflater.from(context).inflate(R.layout.my_edit_text);
webView.setView(editText);

如果可以,请尝试为每个新对话框创建一个新的View