[英]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.