当我按下音量增大/减小键来更新系统音量%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);
}
}
答案 0 :(得分:1)
不要在代码中返回true,而是使用
return super.onKeyDown(keyCode, event);
而不是像其他分支一样。返回true表示事件已正确处理,不会采取进一步操作。返回false意味着事件仍有待处理。
答案 1 :(得分:0)
Onkeydown不会传播到textview。将其附加到您的活动,并从该
目标文本视图