[英]Implement back button on android fragment webview
I want to implement back button for my webview fragment, tried different answers on stackoverflow, couldnt get it to work with my code. 我想为我的webview片段实现后退按钮,在stackoverflow上尝试了不同的答案,无法使用我的代码。
Below is my code. 以下是我的代码。
public class LoginFragment extends Fragment {
public LoginFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_login, container, false);
WebView webView = (WebView) rootView.findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("http://example.com/");
return rootView;
}
}
I even tried this, found it at developer.android.com 我甚至试过这个,在developer.android.com上找到它
public boolean WebViewGoBack() {
if(webView.canGoBack()){
webView.goBack();
return true;
}
return false;
}
Thanks for any help. 谢谢你的帮助。
Try this: 尝试这个:
@Override
public void onBackPressed() {
if (webView.canGoBack()) { //Gets whether this WebView has a back history item.
webView.goBack(); //this takes to the previous page
} else {
super.onBackPressed();// it finishes the current activity
}
}
public class LoginFragment extends Fragment {
public LoginFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_login, container, false);
WebView webView = (WebView) rootView.findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("http://example.com/");
webView.setOnKeyListener(new OnKeyListener(){
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
handler.sendEmptyMessage(1);
return true;
}
return false;
}
});
return rootView;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.