在android中绑定点击和键事件

时间:2011-11-02 06:52:54

标签: java android keyevent

我想要做的是在特定的Key事件触发时调用click()动作。我可以处理特定对象的keydown事件,但如果有2个不同的可点击对象(例如,一个是图片,另一个是按钮,点击动作表现不同),那该怎么办。

所以我只是想抓住这个事件然后让android表现为点击(而非按键)。

感谢

编辑:

我终于找到了解决方案。

步骤:

- 实现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.
}

我害怕忘记以后写这个解决方案。我只写了几个小时。然后我会得到一个新答案的答案。

1 个答案:

答案 0 :(得分:0)

我不确定我完全理解你的问题。您是否只想捕获活动,或者您想在用户点击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