【问题标题】:onkeylistener don't work on imagebuttononkeylistener 不适用于 imagebutton
【发布时间】:2012-05-16 17:44:42
【问题描述】:

onkeylistener 事件有问题,我的代码是这样的

public void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.pnt_articulo);
    imbAgregarArt = (ImageButton)findViewById(R.id.imbAgregarArt);
    imbAgregarArt.setOnKeyListener(key);
}

OnKeyListener key = new OnKeyListener() {
    @Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    if(event.getAction() == KeyEvent.ACTION_DOWN) {
    Toast.makeText(getApplicationContext(), "Clicked", Toast.LENGTH_SHORT).show();
    return true;
        }
        return false;
    }
};

我使用调试停止在 Toast 行不要进入

请帮忙

【问题讨论】:

  • 谢谢 samir,我错了,我尝试做的是听点击按钮

标签: android imagebutton onclicklistener


【解决方案1】:

您正在做的是侦听按键事件,即键盘按下等,为此您的代码非常好。确保选中ImageButton,然后按任意键,您的Toast 就会出现。

由于这是一种非常奇怪的行为,您可能正在寻找OnClickListener

....
    imbAgregarArt.setOnClickListener(click);
}

OnClickListener click = new OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(getApplicationContext(), "Clicked", Toast.LENGTH_SHORT).show();
    } 
};

请注意,我们已将 OnKeyListener 更改为 OnClickListener,第一个监听键盘活动,而第二个监听用户通过点击对象与对象的交互,无论是用手指(按下)还是用触控板或任何设备可以做的选择。

作为 sido 笔记 如果您好奇为什么即使您按下键盘键,另一个也无法工作,那么问题出在视图没有聚焦这一事实。要让视图监听其中的键盘事件,首先需要选择它们,这听起来合乎逻辑吧?

【讨论】:

    猜你喜欢
    • 2010-12-30
    • 2015-01-27
    • 1970-01-01
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多