0

我正在开发一个android应用程序,在这里我有点困惑,首先,我在webview中加载了一个html表单数据。然后从我第一页的链接导航到不同的其他页面。现在回到第一页,我在“onBackPressed()”方法中使用了以下代码。但它在第一页上显示了空的网页视图。为了避免我添加了另一个下面写的 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 可以返回,只需返回并且什么都不做。否则,如果 webview 无法返回,则检查活动号并查找其中的代码,否则完成。我想添加一件事,如果 webview 已经来到第一页。然后加载我的数据,无论活动是什么。

我哪里错了。谢谢

4

2 回答 2

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);
}

我使用了覆盖的 Class onKeyDown。并在此处检查 KeyEvent。

希望这对你有用..

于 2012-04-16T12:02:03.863 回答
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);
于 2012-04-16T11:26:48.567 回答