我的应用程序中的WebView

时间:2013-04-15 18:23:20

标签: android android-webview

我有一个像这样的xml布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"  android:background="#262626">

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="EXIT" />

 <ScrollView
        android:id="@+id/sv2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="10dp" android:background="#ffffff">

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

            <WebView
                android:id="@+id/add_webView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:scrollbarStyle="insideOverlay"
                android:text="@string/desc" />

        </RelativeLayout>
    </ScrollView>
</LinearLayout>

我想在我的应用中加载我的Url,并保留我在webView上面创建的按钮。 不幸的是,我在设备浏览器的新窗口中获取了一个webView。

这就是我调用webView的方式:

WebView add_webView = (WebView) dialog
                    .findViewById(R.id.add_webView);

            add_webView.loadUrl(MYLINK);

如何将我的webView导入我的应用程序而不是浏览器窗口? 谢谢!:)

1 个答案:

答案 0 :(得分:0)

正如我想在对话框中使用webView,解决方案是使用setWebClient()

AlertDialog.Builder alert = new AlertDialog.Builder(this);

    alert.setTitle("Title here");
    WebView wv = new WebView(this);

    wv.loadUrl("http:\\www.google.com");

    wv.setWebViewClient(new WebViewClient()
    {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            view.loadUrl(url);

            return true;
        }
    });

    alert.setView(wv);
    alert.setNegativeButton("Close", new DialogInterface.OnClickListener()
    {
        @Override
        public void onClick(DialogInterface dialog, int id)
        {
        }
    });
    alert.show();