2 xiaoyan 12 xiaoyan_12 于 2013.06.24 15:53 提问

不按“返回”按钮如何返回

在A Activity 中,当点击 button 1 时,就调用 B Activity:

Button b1= (Button)findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(AActivity.this, BActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});

在 B Activity 中,我想实现当点击 button 2 时,再调用A Activity。

Button b2= (Button)findViewById(R.id.button2);
b2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//How to do?
}

我想在键盘上不点击 "back" 按钮返回,在布局中用按钮替换。如何实现?
当调用 A Activity 时,是否能运行 onCreate() 方法呢?

4个回答

curie_87
curie_87   2013.06.24 17:08
已采纳

你调用 finish() 方法来结束 activity。

Button b2= (Button)findViewById(R.id.button2);
b2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
shaojie519
shaojie519   2013.06.24 16:12

可以在onclick 事件里调用finish()方法结束当前的Activity,这时程序回到A Actviity,不会触发onCreate()方法,如果你想重新构造A Activity,在finish前通过Intent启动一个新的A Activity

cj6585256
cj6585256   2013.06.24 16:19
上面兄台说的没错,

public void onClick(View v) {
//How to do?
Inetnt intent = new Intent(BActivity.this,AActivity.class);
BActivity.this.startActivity(intent);
BActivity.this.finish();
}
mojieke
mojieke   2013.06.24 17:15

直接finish就可以,和返回键效果一样,这样是唤醒onresume()你的第一个activity,而不是oncreate(),建议看一下activity的生命周期。

Csdn user default icon
上传中...
上传图片
插入图片