-1

我有这个问题:我有很多布局页面,每个页面都有一个后退按钮作为图片。这意味着当您点击该图片时,您将重定向到之前的布局屏幕。我只有两个活动。这是通过这种方法实现的:

public void button2 
(View button) {setContentView(R.layout.screen1);}

有没有这样的硬件后退按钮选项?当我点击硬件后退按钮时,它会将我重定向到特定的布局页面?我尝试在此页面上声明的选项:如何处理活动中的后退按钮 但没有帮助。请问您能帮忙或解释一下吗?非常感谢。

编辑:

@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    setRequestedOrientation(ActivityInfoCompat.CONFIG_UI_MODE);    }

@Override
public void onBackPressed() {   
return; }

当这些用完时,什么也没发生。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
    moveTaskToBack(true);
    return true;    }
return super.onKeyDown(keyCode, event);    }

使用这些时,硬件返回按钮会导致返回到安卓手机的主屏幕

4

1 回答 1

0

你需要在onBackPressed(). 简单地返回将导致您对什么都不做的方法所期望的结果:nothing

如果您的 Activity 是真正的第二个 Activity,您可以在 onBackPressed 中使用 Intent 开始,如下所示:

@Override
public void onBackPressed() {
    Intent nextActivity = new Intent(this, MyNextActivity.class);
    startActivity(nextActivity);
}

但是,看起来您的第二个“活动”可能只是当前活动的不同布局。在这种情况下,您可以像这样模拟真实的活动:

@Override
public void onBackPressed() {
    setContentView(R.layout.my_second_activity);
}

我还建议坚持使用onBackPressed()而不是,onKeyDown()除非您的目标 API 版本小于 5。

于 2013-06-11T13:41:18.850 回答