我有一个WebView
我正在加载一个活动,为了让它预先加载,以便立即弹出不同的Activity
(从第一个启动)。是否可以在实例化后更改WebView的上下文?
问题是,为了实例化一个WebView
,我必须通过一个Context
,在这种情况下,它是上面提到的第一个。
所以它很好,第二个Activity
显示WebView
就好了。问题是,如果我单击WebView
中的<select>
下拉列表,它的选择器对话框将显示在WebView的UNDER下方。感觉就像选择不起作用,直到你点击后退按钮,并在你返回到父活动之前暂时看到选择对话框。
它好像当我WebView
追加到第二个活动的布局,它的模态得到重视这项活动的窗口,但WebView
自身附加到父活动的窗口,因此它显示在一个较高的点层次结构。
如何在WebView
实例化后更改Context
?
这是一个非常难以解决的问题 - 我必须在活动开始前创建WebViews,但我还需要选择对话框才能工作。
如果有人可以给我一些见解,我会非常感激。
这是针对SDK项目的,因此我无法访问父级活动。此外,saveState不起作用,因为WebView
中显示的大部分内容都是由JavaScript生成的,并且完整的DOM堆栈不会传输。
“我必须在活动开始前创建WebViews” - 为什么?是的,“WebView”实例化速度慢。这并不意味着在一项活动中创建一个“WebView”,并着眼于在另一项活动中使用它,这项工作将会发挥作用。为什么不使用片段,并将所有这些都集中在一个单独的活动中?或者,只需在原始活动中准备好时显示“WebView”即可。你为什么觉得你需要两个活动? – CommonsWare 2014-12-06 00:23:27
因为这是作为SDK一部分的活动下降。我将无法访问在生产环境中启动我的活动的活动,因此我必须将Web视图存储在静态类中,并在活动启动后将它们添加到我的布局中。我很想辩论实现的优点,但我必须找到一种方法来完成这项工作,并且我无法启动一个隐藏的活动,并且我无法将内容从一个WebView复制到另一个,从而保留完整的DOM。 – crimulus 2014-12-06 20:29:56