我需要一个以固定width
和height
显示网页内容的网页。
我将webview放在高度为200px的xml文件中,但在加载该页面时,它直接重定向到默认的浏览器视图。
按下手机中的后退按钮,它会重定向到原始页面,然后webview不会显示任何内容。
在我的xml文件中
<WebView android:layout_width="fill_parent" android:layout_height="200px" android:id="@+id/wvbrowser" />
代码
WebView wvbrowser;
wvbrowser=(WebView)findViewById(R.id.wvbrowser);
wvbrowser.loadUrl("http://www.orkut.com");
那么告诉我哪里错了?以及如何以FIXED大小显示WebView?
答案 0 :(得分:5)
试试这个......
创建一个单独的类。
public class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
然后在你的活动中使用它。
WebView wvbrowser;
wvbrowser=(WebView)findViewById(R.id.wvbrowser);
wvbrowser.setWebViewClient(new HelloWebViewClient());
wvbrowser.getSettings().setJavaScriptEnabled(true);
wvbrowser.loadUrl("http://www.orkut.com");
答案 1 :(得分:0)
当用户在WebView中单击来自网页的链接时,默认的Android浏览器会处理Intent以查看网页,因为从技术上讲,您的活动无法执行此操作。您需要覆盖WebViewClient类并启用webview Activity来处理自己的URL请求。
setWebViewClient(new HelloWebViewClient());
上面一行创建了一个WebViewClient,它将从此WebView中选择的任何URL加载到同一个WebView中。
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
shouldOverrideUrlLoading(WebView,String)方法传递当前的WebView和请求的URL,因此它需要做的就是在给定视图中加载URL。返回true表示该方法已处理URL且事件不应传播。