2
我很難讓主視圖的onKey事件觸發。我不確定我做錯了什麼,我已經正確實施了onClick事件,但似乎無法找出onKey事件。使用Android時觸發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它不執行,這使我相信,這個事件本身是永遠不會被觸發,甚至當我按下我的物理鍵盤上的一串按鍵(摩托羅拉Droid,Android 2.1)。
感謝,重寫onKeyDown事件的作品,這是我的情況一個可行的解決方法。任何想法爲什麼我上面的方法不能正常工作? – celestialorb 2010-07-27 05:51:15
@celestialorb:您按下某個鍵時,您可能沒有任何'RelativeLayout'的子'onFocus'。嘗試添加一個'EditText'裏面。 – Macarse 2010-07-27 05:59:12