将网络视图嵌入到另一个视图中
我的申请中有 2 个视图
: - 带有 1 个按钮的标准视图
res/layout/ main.xml res/layout/web_view.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<WebView android:id="@+id/webview"
android:layout_height="fill_parent"
android:layout_width="fill_parent" />
</LinearLayout>
当我单击第一个视图 (a) 上的按钮时,它会加载 webview(b) 并加载 url:
// click on the "Browser" button in view a
public void goToWebView(View view) {
setContentView(R.layout.web_view);
WebView mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.google.com");
}
一切正常,url 加载良好,但浏览器 已实例化进入它自己的视图(第三个视图,而不是 b 本身),我的目标是使用 Webview 在单独的浏览器中将一些 HTML 代码显示到我的应用程序中,而不是应用程序之外。
有人有什么想法吗?
这是使用 API level8/Android 2.2 完成的。
感谢您的帮助。 保罗
I have in my application 2 views:
a. res/layout/main.xml - a standard view with 1 button
b. res/layout/web_view.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<WebView android:id="@+id/webview"
android:layout_height="fill_parent"
android:layout_width="fill_parent" />
</LinearLayout>
When I click the button on the first view(a), it loads the webview(b) and loads an url:
// click on the "Browser" button in view a
public void goToWebView(View view) {
setContentView(R.layout.web_view);
WebView mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.google.com");
}
All that is working fine, the url load well but the browser is instantiated into its own view (a third one, not b itself) and my goal is to use the Webview to show some HTML code into my application, not outside of it, in a separate browser.
Anyboyd any idea?
This is done using API level8/Android 2.2.
Thanks for your help.
Paul
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
其实我终于明白了。即使您以编程方式加载 url,
您也必须修改默认行为(即在新的浏览器实例中打开 url)。
之前的代码需要 2 处增强。
然后,为使用 Webclient 的视图设置新行为:
Actually I finally understood. Even if you programatically load the url with
you also have to mofify the default behaviour (which is opening an url in a new browser instance).
The previous code needs 2 enhancements.
Then, set for the view which uses Webclient the new behaviour: