我正在编写代码,以便在按下音量up/down键以更新系统卷% but的TextView时更改TextView。我现在有了此代码,它只工作一次,但它覆盖了up/down的功能,有没有办法重写它或将其排除在overid之外?
@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);
}
}发布于 2011-08-12 05:25:09
不要在代码中返回true,而是使用
return super.onKeyDown(keyCode, event);相反,就像在其他分支中一样。返回true表示事件得到了正确处理,不会采取进一步的操作。返回false表示事件仍需处理。
发布于 2011-08-12 04:27:25
Onkeydown不会传播到textview。将其附加到您的活动中,并从中确定文本视图的目标
https://stackoverflow.com/questions/7032131
复制相似问题