У меня возникли проблемы с вызовом события моего основного View 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).