【问题标题】:how to load existing webview in alert dialog android如何在警报对话框android中加载现有的webview
【发布时间】:2022-01-18 18:54:49
【问题描述】:

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

【问题讨论】:

  • 你能发布你的代码吗?另外,为什么在警报对话框中需要 webview?
  • 在 webview 中,我可以单击一个按钮并打开 modal 以显示内容,但它会显示在 webview 的宽度和高度内,我想像原生 modal 一样显示模态。所以我尝试在对话框上加载现有的 webveiw 并仅显示模式并隐藏剩余内容。他们将在关闭和打开模态时调用我的函数,以便我可以隐藏内容并像本机模态对话框一样显示。

标签: java android webview dialog layout-inflater


【解决方案1】:

为了清楚起见,我假设您的问题是重用布局中的现有 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 并附加到以前的布局中。

【讨论】:

  • 谢谢这是我正在寻找的东西??连同这个我会做宽度,高度和隐藏的东西。非常感谢
猜你喜欢
  • 1970-01-01
  • 2015-02-19
  • 2011-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多