您好,我的 Android 应用程序出现问题。我使用 boolean 方法来更改后退按钮的功能以进行布局更改。如代码所示,如果我使用 if- 语句,并且这些情况为真,则布局会发生变化。问题是我有不止一个点在不同的情况下我想修改按钮的功能。但是如果我复制该函数并更改名称,eclipse 想要删除 @ override,然后该方法就不再起作用。
现在的问题是:如何创建多个 KeyEvent?
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && lengthisopen == true){
lengthisopen = false;
setContentView(R.layout.length);
return true;
}
return super.onKeyDown(keyCode, event);
}
public boolean onKeyDown2(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && lengthisopen == true){
lengthisopen = false;
setContentView(R.layout.length);
return true;
}
return super.onKeyDown(keyCode, event);
}
最佳答案
onKeyDown(int keyCode, KeyEvent event)
是 Activity
中可用的方法,因此您可以覆盖它。但onKeyDown2()
不是父类(super class)的方法。所以你不能从任何父类(super class)覆盖它。这就是为什么它要求您删除 @override
。
如果您想创建多个关键事件,那么您应该只转到
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && lengthisopen == true){
lengthisopen = false;
setContentView(R.layout.length);
return true;
}
else if(condition){
// next code
}
return super.onKeyDown(keyCode, event);
}
关于java - 多个关键事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15174207/