0

我正在开发一个 Android Webview 应用程序。我想使用onbackpressed转到上一页但也退出应用程序。

它应该如何工作:

  • 按主页上的返回按钮:我想显示一条消息“再按一次退出”。
  • 在其他网页上按返回按钮:它应该立即打开上一页。

我试图通过使用以下代码来实现这一点。唯一的问题是我不知道如何将我的主页设置为变量。现在我收到错误消息“页面无法解析为变量”。我明白为什么我会收到该消息,但我只是不知道在这种特殊情况下如何解决它。

假设我的主页 url 是“ http://example.com ”,我如何将这个主页设置为变量?

private Boolean exit = false;
@Override
public void onBackPressed() {
 if(page != "homepage"){
      super.onBackPressed(); // Calls the Overriden Method 
 }
else
{
if (exit)
    this.finish();
else {
    Toast.makeText(this, "Press once again to exit.",
            Toast.LENGTH_SHORT).show();
    exit = true;
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            exit = false;
        }
    }, 3 * 1000);

}
}

}
4

2 回答 2

0

也许这会有所帮助:

int clickedTwice = 0;
public void onBackPressed() {
if(page != "homepage"){
  super.onBackPressed(); // Calls the Overriden Method 
}
else
{
    clickedTwice++;
    if(clickedTwice == 2)
    {
        super.onBackPressed();
    }
    else
    {
        Toast.makeText(this,"press again to exit",Toast.LENGTH_SHORT).show();
    }

    new Handler().postDelayed(new Runnable()
    {

        @Override
        public void run()
        {
            clickedTwice--; 

        }
    }, 2000);  // will wait for 2 seconds for user's another click!
 }
}

}
于 2014-12-01T12:27:21.907 回答
0

您可以检查 webview 的 isback 页面,然后您可以写下应用程序中存在的代码。您可以使用以下代码进行检查

if(webView.canGoBack())
{
// your code 
}
于 2014-12-01T12:28:17.460 回答