如何在警报对话框中加载现有的 webview android

how to load existing webview in alert dialog android

我默认加载了一个网页视图,在页面底部有设置和 url,我需要在警告对话框中显示现有的网页视图。 我不想创建新的 webview,因为我需要维护现有 webview 的状态(我的意思是如果我点击了 webivew 内的按钮并切换了内容,那么我需要在警报对话框中显示完全相同的内容) 我试图通过在单独的布局中移动 webview 和一些 textview 来膨胀,但它在警告对话框中显示 textview 但未加载 webview。 欢迎提出建议!!

明确地说,我假设您的问题是重用布局中的现有 Web 视图并将其显示在警报对话框中。 如果是这样,您可以从原始布局中删除 Web 视图并将其添加到警告对话框中,如下所示

WebView myWebview = findViewById(R.id.myWebView);
ViewGroup parent = (ViewGroup) myWebview.getParent();
if (parent != null) {                            
   parent.removeView(myWebview);
}
AlertDialog.Builder builder;
AlertDialog alert;
builder = new AlertDialog.Builder(this);
alert = builder.create();
alert.setView(myWebview);
alert.show();

所以现有的 webview 将从其布局中删除并显示在警报对话框中。 您也可以反之亦然(从警报对话框中删除 webview 并附加到先前的布局中。