我正在开发一个Android应用程序,在这里我有点困惑,首先,我在webview中加载了一个html表单数据。然后从我第一页的链接导航到不同的其他页面。现在回到第一页,我在“onBackPressed()”方法中使用了以下代码。但它在第一页显示我的空webview。为了避免我添加了下面写的另一个if条件,但结果仍然相同,
if(webview.canGoBack() == true)
{
webview.goBack();
if(!webview.canGoBack())
webview.loadDataWithBaseURL("http://xyz.com/feed/", data, "text/html", "utf-8", null);
}
// if now on fist page then do the following
else if(activityno==2) {
Intent fav = new Intent(Views.this, FavroiteShow.class);
startActivity(fav);
}
//on first page and activity no is not 2 then do the following
else
finish();
}
就像,如果webview可以回去,只需要goback,什么都不做。否则,如果webview无法返回,则检查活动否并转到其中的代码,否则完成。我想添加一件事,如果webview已经到了第一页。然后加载我的数据,无论活动是什么。
我错了。 感谢答案 0 :(得分:0)
立即尝试..
if(webview.canGoBack() == true)
webview.goBack();
else //if there is no history available
webview.loadDataWithBaseURL("http://xyz.com/feed/", data, "text/html", "utf-8", null);
答案 1 :(得分:0)
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
webview.goBack();
return true;
} else if (!webview.canGoBack()) {
webview.loadDataWithBaseURL("http://xyz.com/feed/", data,
"text/html", "utf-8", null);
// if now on fist page then do the following
if (activityno == 2) {
Intent fav = new Intent(Views.this, FavroiteShow.class);
startActivity(fav);
}
else {
finish();
}
}
return super.onKeyDown(keyCode, event);
}
我使用了覆盖类onKeyDown
。并在此查看KeyEvent。
希望这对你有用..