多个KeyEvents?

时间:2013-03-02 12:00:30

标签: java android eclipse override keyevent

您好我的Android应用有问题。我使用布尔方法更改后退按钮的功能以进行布局更改。如代码所示,如​​果我使用if语句,如果这些都是真的,则布局会发生变化。问题是我有不止一个点,我想修改按钮的功能。但是,如果我复制该函数并更改名称eclipse想删除@覆盖,然后该方法不再有效。

现在的问题是:如何创建多个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);

}

1 个答案:

答案 0 :(得分:0)

onKeyDown(int keyCode, KeyEvent event)可用的方法是Activity,因此您可以覆盖它。但onKeyDown2()不是超类的方法。所以你不能从任何超类中覆盖它。这就是它说你删除@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);

}