我试图在两个包含webview的不同活动之间切换。切换它时我遇到了很多内存问题,我现在正在尝试跟随:我在同一版面上设置了VISIBLE或GONE两个webview。 当我从webviewA按下一个按钮时,在webviewB上加载一个URL,当webviewB onPageFinished()时,A设置为GONE,B设置为VISIBLE。从B到A相同。问题是url第一次加载......
两个网页浏览设置在相同的布局上,如
<RelativeLayout
android:id="@+id/aLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/barraSocial">
<WebView
android:id="@+id/webviewA"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:autoLink="web"
android:textColor="@android:color/black"
android:scrollbars="none"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/bLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/barraSocial">
<WebView
android:id="@+id/webviewB"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:autoLink="web"
android:textColor="@android:color/black"
android:scrollbars="none"/>
</RelativeLayout>
onCreate活动,
final RelativeLayout LayoutA = (RelativeLayout)findViewById(R.id.aLayout);
final RelativeLayout LayoutB = (RelativeLayout)findViewById(R.id.bLayout);
webviewA = (WebView) findViewById(R.id.webviewA);
webviewB = (WebView) findViewById(R.id.webviewB);
在webviewA按钮上单击,
webviewB.loadUrl(UrlVista);
然后,来自webviewB的onPageFinished()被触发,
webviewB.setWebViewClient(new WebViewClient()
{
@Override
public void onPageFinished(WebView view, String url)
{
LayoutA.setVisibility(View.GONE);
LayoutB.setVisibility(View.VISIBLE);
答案 0 :(得分:2)
你有两个RelativeLayouts。一个是基本上推动另一个屏幕。而不是你拥有的,只有一个相对布局与2 webviews:
在你的xml文件中:
<RelativeLayout android:id="@+id/aLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/barraSocial">
<WebView android:id="@+id/webviewA"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:autoLink="web"
android:textColor="@android:color/black"
android:scrollbars="none"
android:alignParentLeft="true"
android:alignParentTop="true"//>
<WebView android:id="@+id/webviewB"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:autoLink="web"
android:textColor="@android:color/black"
android:scrollbars="none"
android:alignParentLeft="true"
android:alignParentTop="true"/>
</RelativeLayout>
然后在你的onPageFinished
webviewB.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url{
webviewA.setVisibility(View.GONE);
webviewB.setVisibility(View.VISIBLE);
}
});
这实质上是您设置WebViews本身的可见性而不是布局。在这种情况下,布局可以是一个在彼此之上,并且您正在使用它们的可见性来基本上关闭和打开一个。