onkeylistener don not work on imagebutton



我对 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;
    }
};

我使用调试停止在吐司行不要输入

请帮忙

您正在做的是侦听关键事件,即键盘按下等,为此,您的代码完全没问题。确保选中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 ,第一个侦听键盘活动,而第二个通过单击对象来侦听用户与对象的交互,无论是用手指(按下)还是用触控板或设备可以执行的任何操作。

作为西多笔记如果你好奇为什么即使你按下键盘键,另一个也不起作用,问题来自视图没有聚焦的事实。对于在其中侦听键盘事件的视图,首先需要选择它们,这听起来合乎逻辑,对吗?

相关内容

  • 没有找到相关文章

最新更新