活动和返回按钮
问题描述:
在ui我有一个后退按钮显示。有三种活动说A,B,C。活动A是启动画面。活动B是主屏幕。活动C是编辑屏幕。在编辑屏幕上,我只有一个后退按钮。当用户按下时,我打开活动B,其中也包含某种类型的http请求和响应。我想从堆栈中的前一个活动应该显示?我怎么能做到这一点?我可以按下设备的后退按钮打开以前的活动?活动和返回按钮
当我按下设备上的按钮没有去任何http请求?当我按下ui后退按钮时,我想实现这种行为。
答
我想在你的背部按钮,你可以要求b活动的意图和你的HTTP请求和响应代码是在的onCreate功能
但在设备上的后退按钮不会叫的onCreate
有两种解决方案这
一个为Macarse说,听的onkeydown
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
Intent i = new Intent(ActivityC.this,ActivityB.class);
startActivity(i);
return true;
}
return super.onKeyDown(keyCode, event);
}
,第二种方法是写你的代码在调用onStart ActivityB
的protected void onStart() {
//http request and response code
}
这在onStart会调用这个全时ActivityB开放
希望这有助于你
答
与onkeydown事件的解决方案可能会奏效,但使用onBackPressed在我看来是容易得多。
可以拦截返回键,带有以下重写:
@Override
public void onBackPressed()
{
//logic here, for example an intent
Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);
}
而对周围的其他方法super.onBackPressed();
返回到以前的历史活动。