onKeyDown不工作

时间:2011-08-11 20:06:14

标签: java android android-layout keylistener

当我按下音量增大/减小键来更新系统音量%set的TextView时,我正在编写代码来更改TextView。我现在有这个代码可以运行一次但是它覆盖了向上/向下的功能,是有没有办法重新写它或将它排除在上面?

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_VOLUME_UP || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {


            //system volume
            int curVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
            int i = curVolume;  
            String aString = Integer.toString(i);   

            TextView sysVol = (TextView)findViewById(R.id.systemVolume);
            sysVol.setText(aString);
            sysVol.invalidate();

            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

}

2 个答案:

答案 0 :(得分:1)

不要在代码中返回true,而是使用

return super.onKeyDown(keyCode, event);

而不是像其他分支一样。返回true表示事件已正确处理,不会采取进一步操作。返回false意味着事件仍有待处理。

答案 1 :(得分:0)

Onkeydown不会传播到textview。将其附加到您的活动,并从该

目标文本视图