祝大家有美好的一天
我正在制作一个简单的应用程序(出于练习目的),该应用程序在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