我在我的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());
}
}
答案 0 :(得分:0)
因为你在pop()之后立即调用push(),所以永远不会调用你的else子句。所以你的backStack大小总是大于0.