繁体   English   中英

使用堆栈-覆盖onBackPressed

[英]Working with stack - override onBackPressed

我在Android应用程序中有这段代码,我试图覆盖onbackPressed函数,因此如果要显示的堆栈中有项目,则要关闭当前活动,但是尽管我不知道为什么我的堆栈不会删除顶部的项目做pop()这可能是什么问题?

这是我的代码:

@Override
    public void onBackPressed() {
        Log.v("--", backStack.size() + "BS");
        if (backStack.size() == 0) {
            finish();
        } else {
            position = backStack.pop();
            Log.v("--", "BAck " + position);
            webView.clearView();
            String html = head + mustReads.get(position).getBody() + footer;
            backStack.push(position);
            Log.v("--", "LITLIB html: " + html);

            webView.loadDataWithBaseURL("", html, mimeType, encoding, "");
            getActionBar().setTitle(mustReads.get(position).getTitle());
        }

    }

您的else子句将永远不会被调用,因为您会在pop()之后立即调用push()。 因此,您的backStack大小将始终大于0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM