Привязка щелчка и ключевых событий в Android

#java #android #keyevent

#java #Android #ключевое событие

Вопрос:

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

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

Спасибо

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

Наконец-то я нахожу решение.

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

-реализовать OnKeyListener -вызовите метод performClick() объекта, который является подклассом view, и вы хотите вызвать 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.
}
 

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

Ответ №1:

Я не уверен, что полностью понимаю ваш вопрос. Вы хотите только фиксировать событие или вы хотите что-то сделать, когда пользователь нажимает a 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

Комментарии:

1. Итак, что я буду вызывать, public boolean onKeyDown ( int keyKode, KeyEvent event ) { ... } мне нужно установить действие, подобное нажатию на экран. Мне нужно вызвать действие щелчка activity. не принадлежащий объекту.

2. Можно создать OnClickListener() для всего действия, реализовав View . OnClickListener. Все еще не уверен, что это то, что вы ищете…

3. Я думаю, что нашел способ, которым я буду следовать. Мне нужно реализовать OnKeyListener объекта для вызова performClick();