在不重新加载页面的情况下在webview活动之间切换

时间:2012-01-16 23:48:48

标签: android android-activity webview switch-statement reload

我希望这样做。 我想让多个webview加载他们自己的页面。这些web视图是在不同的活动中创建的,这些活动是通过列表视图中的项目点击产生的。

有时我想从一个webview活动切换到另一个。

我的尝试表明,在这些活动之间切换总是调用onCreate()方法调用webView.loadUrl()。因此,每次切换时都会重新加载网页。

任何人都有想法设计这样的活动导航?关键是如何在不重新加载webView的情况下切换到现有活动。谢谢你的进步

2 个答案:

答案 0 :(得分:0)

如果您为每个webView创建活动,则无法执行您描述的操作。这种情况发生在您关闭每个活动并向GC提供“OK”以收集它并抛出所有WebView数据。

  1. 你需要做的是创建一种Web容器,它将容纳预定量的WebViews(不要超过~6,它会占用你设备的内存)。
  2. 每当您按下列表项时,开始在容器中加载WebView,并使其在当前布局上显示。
  3. 当您按下时,只需将Web容器的可见性设置为GONE。
  4. 如果您尝试打开第7个WebView,只需删除第一个WebView,然后继续。
  5. 此方法将确保您拥有不需要再次加载的实时WebView ...
  6. 希望这有帮助。

答案 1 :(得分:0)

您可以使用ViewAnimator执行此操作。创建WebView并将其添加到ViewAnimator中(类似于)

mViewAnimator.addView(mWebView0, index_0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,                                   ViewGroup.LayoutParams.FILL_PARENT));

然后通过索引切换到特定的WebView(类似)

mViewAnimator.setDisplayedChild(index_0);