我很难触发主视图的 onKey 事件。我不确定自己做错了什么,我已经正确实现了 onClick 事件,但似乎无法弄清楚 onKey 事件。
相关代码如下:
public class MyActivity extends Activity {
private RelativeLayout main;
private ApplicationToolbar toolbar;
public void onCreate(Bundle savedInstanceState) {
...
this.main = (RelativeLayout) this.findViewById(R.id.main);
this.toolbar = new ApplicationToolbar(this);
// toolbar is added to main later on in the code...
this.main.setOnClickListener(mClickListener);
this.main.setOnKeyListener(mKeyListener);
}
private OnClickListener mClickListener = new OnClickListener() {
public void onClick(View v) {
toolbar.setVisibility(View.VISIBLE); // Works correctly.
}
};
private OnKeyListener mKeyListener = new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
toolbar.setBackgroundColor(0xFF0000FF); // Does not work.
return true;
}
};
}
事实上,无论我在 mKeyListener 中放入什么代码,它都不会执行,这让我相信事件本身永远不会被触发,即使我在我的物理键盘上按下一堆键(Motorola Droid、Android 2.1).
最佳答案
您可以尝试覆盖 onKeyDown(int keyCode, KeyEvent event)
检查:
关于java - Android 无法触发 onKey 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3340931/