Связывание кликов и ключевых событий в Android

Что я хочу сделать, так это вызвать действие click() при срабатывании определенного ключевого события. Я могу обработать событие нажатия клавиши для определенного объекта, но что, если есть 2 разных интерактивных объекта (скажем, один из них - изображение, а другой - кнопка, и действия по щелчку ведут себя по-разному).

Итак, я просто хочу поймать событие, а затем позволить андроиду вести себя как щелкнутый (не нажатый ключ).

спасибо

Редактировать :

Я нахожу решение, наконец.

шаги для этого:

- реализовать onKeyListener - вызвать метод PerformClick() объекта, который является подклассом представления, и вы хотите вызвать onclick.

Образец кода :

button.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View view, int i, KeyEvent keyEvent) {
            view.performClick();
            Toast.makeText(
                    context,
                    "button onkey - " + i,
                    Toast.LENGTH_LONG)
                    .show();
            return false; //return true if you want to stop the rest of same key event processing.
}

Я боюсь забыть написать решение позже. Я просто пишу несколько часов. Тогда я получу ответ на новый ответ.


person Olgun Kaya    schedule 02.11.2011    source источник


Ответы (1)


Я не уверен, что полностью понимаю ваш вопрос. Вы хотите зафиксировать только событие или хотите что-то сделать, когда пользователь нажимает View? Вот как вы можете это сделать, если это последнее...

OnClickListener()

Пример:

private Button btn;
btn = (Button) findViewById(R.id.buttonId);
btn.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
      // Handle your click events here
   }
});

Просто сделайте то же самое с ImageView.

Документация:

http://developer.android.com/reference/android/view/View.OnClickListener.html

person Michell Bak    schedule 02.11.2011
comment
Итак, что я буду вызывать в public boolean onKeyDown ( int keyKode, KeyEvent event ) { ... }. Мне нужно установить действие, например, щелкнуть по экрану. Мне нужно вызвать действие щелчка активности. не объектный. - person Olgun Kaya; 02.11.2011
comment
Можно создать OnClickListener() для всей Activity, реализуя View.OnClickListener. Все еще не уверен, что это то, что вы ищете... - person Michell Bak; 02.11.2011
comment
Думаю, я нашел путь, по которому буду следовать. Мне нужно реализовать объект onKeyListener для вызова performClick(); - person Olgun Kaya; 02.11.2011