【问题标题】:Back button doesn't work后退按钮不起作用
【发布时间】:2014-03-10 08:57:09
【问题描述】:

我有一个包含两个活动的应用程序。在第一个活动中,可以通过单击按钮来启动第二个活动。

@Override
public void onClick(View v) {
    Intent intent = new Intent(firstActivity, SecondAcitivity.class);
    startActivity(intent);
}

奇怪的是,在第二个活动中单击后退按钮并没有让我回来。我认为这种基本行为已经实现,因此我不必对此做任何事情。实际上在我写的其他应用程序中从未出现过这样的问题。

当然是在我第一个活动的课堂上

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    firstActivity = this;
    ...
}

【问题讨论】:

  • 检查清单以了解活动的启动模式
  • 您是否覆盖了 onkeypressed 或 onbackpressed 方法?还要检查您的活动启动器模式。
  • 能否提供 SecondActivity 的来源?

标签: java android navigation


【解决方案1】:

你做了什么来拦截关键事件吗?

例如:

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

@Override
public void onBackPressed() {
//not invoke the super.onBackPressed();
}

【讨论】:

  • 是的,这就是问题所在。我在onKeyDown 方法中为KeyEvent.KEYCODE_VOLUME_UPKeyEvent.KEYCODE_VOLUME_DOWN 写了一个特殊的行为。对于所有其他KeyEvents,我返回false。所以显然return false; 在这里没有帮助。现在我添加了您的return super.onKeyDown(keyCode, event); 而不是返回false,一切正常。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-27
  • 2014-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-24
相关资源
最近更新 更多