我正在开发一个webview android应用程序.我无法修复我的应用中的问题以进行反向导航.我正在使用此代码并尝试对此进行所有修改.
public class DeviceActivity extends Activity
{
private WebView web;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
web = (WebView) findViewById(R.id.webView);
web.getSettings().setJavaScriptEnabled(true);
web.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
web.getSettings().setPluginsEnabled(false);
web.getSettings().setSupportMultipleWindows(false);
web.getSettings().setSupportZoom(false);
web.setVerticalScrollBarEnabled(false);
web.setHorizontalScrollBarEnabled(false);
//Our application's main page will be loaded
web.loadUrl("file:///android_asset/fbp/index.html");
web.setWebViewClient(new WebViewClient() {
@Override public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
public void onBackPressed (){
if (web.canGoBack()) {
web.goBack();
}
else {
//My exit alert code goes here.
}
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
这不会导航回来,而是退出应用程序.任何帮助,将不胜感激.
Ken*_*olf 18
在你的Activity代码中添加它(不在onCreate()其他任何地方或嵌套)
@Override
public void onBackPressed() {
if (web.copyBackForwardList().getCurrentIndex() > 0) {
web.goBack();
}
else {
// Your exit alert code, or alternatively line below to finish
super.onBackPressed(); // finishes activity
}
}
Run Code Online (Sandbox Code Playgroud)
这将导航回WebView历史堆栈,直到它为空,然后执行默认操作(在这种情况下,它完成活动).
您可能还应将WebViewClient设置为shouldOverrideUrlLoading返回,true否则您将不会加载任何链接.
| 归档时间: |
|
| 查看次数: |
9569 次 |
| 最近记录: |