Android avd箭头键不工作

Android avd箭头键不工作,android,avd,Android,Avd,我正在从一本书中学习应用程序开发,并且遇到了avd的问题。我已设置代码,以便在按下向右箭头键时更改某些文本: public boolean onKeyDown(int keyCode, KeyEvent event){ if(keyCode==KeyEvent.KEYCODE_DPAD_RIGHT){ textUpdate(); return true; } r

我正在从一本书中学习应用程序开发,并且遇到了avd的问题。我已设置代码,以便在按下向右箭头键时更改某些文本:

public boolean onKeyDown(int keyCode, KeyEvent event){
            if(keyCode==KeyEvent.KEYCODE_DPAD_RIGHT){
                textUpdate();
                return true;
            }
            return false;
        }

当我运行虚拟设备并按箭头键时,什么都没有发生。当我按下物理键盘上的箭头键时,仍然什么都没有。我做了很多研究,没有找到解决办法。我尝试过编辑avd设置,并编辑设备(NexusOne)本身以接受键盘和dpad输入。我现在应该尝试什么?

您是否覆盖了该方法? 该函数上方应该有一个@Override

每当触发该函数时,Override将调用该函数,以便您可以根据特定的实现对其进行修改

希望这有帮助

在android设备上,“箭头键”是指后退键? 如果是,则应覆盖onBackPressed

@Override
public void onBackPressed() {
   // do something 
}

好的,发生的是我的onKeyDown()函数在一个片段中。我不知道为什么,但当我将此代码移到mainActivity中时,它运行良好。如果有人能回答为什么会这样,以及我如何能让它在片段中工作,请发表评论


谢谢

当我添加@Override时,我得到了一个错误:“mainactivity.placeholder片段类型的onKeyDown(int,keyEvent)方法必须实现或重写一个超类型方法”您是否在设备设置中启用了硬件键盘?如果您的意思是选择硬件键盘存在并使用主机gpu,那么是。否,我是说拨号盘上的正确键。上、下、左、右、中。与前面的答案相同:onBackPressed必须重写或实现超类型方法。