我想要做的是在特定的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.
}
我害怕忘记以后写这个解决方案。我只写了几个小时。然后我会得到一个新答案的答案。
答案 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