祝大家有美好的一天

我正在制作一个简单的应用程序(出于练习目的),该应用程序在android studio中使用WebView。我希望我的应用程序烘烤我输入/浏览的所有URL。例如,当我打开Facebook时,它将烘烤其URL,而当我登录到我的帐户时,它将再次烘烤我的Facebook帐户,听起来像那样。这是我的代码。我是新手,任何建议或帮助将不胜感激。非常感谢。

xml布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                tools:context="com.example.nevigrof.ymuc.Back_order">

        <WebView

                    android:layout_weight="1"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:focusable="true"
                    android:id="@+id/webview1"/>
</RelativeLayout>


Java代码

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }

    WebView webview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_survey_form);

        webview = (WebView) findViewById(R.id.webview1);
        webview.setWebViewClient(new MyWebViewClient());
        openURL();
    }

    private void openURL() {

        webview.requestFocus(View.FOCUS_DOWN | View.FOCUS_UP);
        webview.loadUrl("http:/https://www.facebook.com/");
        webview.getSettings().setJavaScriptEnabled(true);


        String webUrl = webview.getUrl();
        Toast.makeText(Back_order.this, webUrl, Toast.LENGTH_LONG).show();
    }
}

最佳答案

我想MyWebViewClient继承自WebViewClient。你应该重写
MyWebViewClient类中的onPageStarted和/或onPageFinished。

@Override
public void onPageFinished(WebView view, String url) {
    super.onPageFinished(view, url);
    // Toast
}


看一下:

WebViewClient onPageFinished Android doc

Load an HTML document Android training

09-10 01:11
查看更多