我在我的应用中的内容视图中添加了叠加视图。
我想在后退按钮上添加一个动作,以便在具有默认后退按钮功能之前删除此覆盖视图。
最好的方法是什么?
谢谢。
答案 0 :(得分:4)
我对此方案的解决方案是制作用户在应用程序中的位置的全局指示器。
例如,考虑这一点(直接来自我当前的项目):
//...
private boolean mInSettingsMode;
//...
// The button's onclick method.
public void onSettingsButtonClick(View v) {
mInSettingsMode = true;
// Initialize view stuff.
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (mInSettingsMode) {
mInSettingsMode = false;
resetToNormalView();
return true;
} else {
return super.onKeyDown(keyCode, event);
}
}
return super.onKeyDown(keyCode, event);
}
答案 1 :(得分:2)
您应该实现onKeyDown()方法并检查keyCode是否返回。如果是的话,你可以做任何你想做的事。
希望这有帮助!
答案 2 :(得分:1)
您应该覆盖onBackPressed()
:
@Override
public void onBackPressed()
{
// Add your code here
// Then call the parent constructor to have the default button functionality
super.onBackPressed();
}