java - 多个关键事件?

标签 java android eclipse overriding keyevent

您好,我的 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/

相关文章:

Java:填充内存中排序的批处理

java - 如何获取列表中选项标签的内部文本?

android - Android 5.0如何使用adb命令获取MEID和IMEI信息?

java - 在更深的嵌套项目上使用 indexOn 的问题

java - Eclipse - 刚刚卸载了 Java 1.7(我的机器上仍然有 Java 1.6),但现在 Eclipse 无法识别任何 java 内容

java - 覆盖哈希码

java - 将多个数组列表保存并检索到文件中

android - 用于移动应用程序的服务器端 API

eclipse - 在 Eclipse 之外使用 maven

java - Eclipse如何重构Javadoc源码注释?