我有这个问题:我有很多布局页面,每个都有一个后退按钮作为图片。这意味着当您点击该图片时,您将重定向布局屏幕,这是之前的。我只有两个活动。这是通过这个方法实现的:
public void button2
(View button) {setContentView(R.layout.screen1);}
硬件后退按钮是否有人这样的选项?当我点击硬件后退按钮时,它会在特定的布局页面上重定向我?我尝试在此页面上说明的选项:How to handle back button in activity 但没有帮助。请问你能解释一下吗?非常感谢你。
编辑:
@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); }
使用这些时,硬件后退按钮会导致返回到android手机的主屏幕
答案 0 :(得分:0)
您需要在onBackPressed()
中实际执行某些操作。简单地返回将导致您对无效方法的期望: nothing 。
如果您的Activity是真正的第二个Activity,您可以使用Intent开始onBackPressed,如下所示:
@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。