【发布时间】:2015-10-05 11:00:37
【问题描述】:
我正在尝试在activity 上实现简单的back button 以转到上一个activity,但是当我调用方法finish() 时发生了一些奇怪的行为 - 问题是我必须按下back 按钮两次?为什么会这样?在后面的方法中,我只有finish()。如果没有instantiate 一个全新的Intent,那么转到以前保存的activity 的另一种方法是什么?
public void back1 (View view){
this.finish();
}
这是第二次尝试,结果相同:
ImageButton buttonback = (ImageButton) findViewById(R.id.imageButton6);
buttonback.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onBackPressed();
}
});
【问题讨论】:
-
请出示您的代码
-
您应该在此处发布您的活动代码
-
Finish 不会重新启动当前活动。您的代码中还有其他问题,但我们不知道是什么,因为我们无法猜测您的代码。
-
您很可能开始了两次活动。当按下
back时,您正在完成一个,而另一个正在前进。检查您的onCreate和onResume是否有任何可能使用意图或开始任何活动的内容 -
Activity 像堆栈一样添加到堆栈中,您创建和启动的活动越多,添加到堆栈的越多。正如@bonatti 所提到的,检查您的活动启动代码。检查它是否正在启动活动两次
标签: java android android-intent onbackpressed