小编Sla*_*ITA的帖子

onKeyListener没有在Android中触发事件

我有Activity一个Fragment.这个片段有一个按钮,当我按下硬件键盘上的"输入"按钮时,我想要发生一些事情(我正在测试它adb keyevent).

我在stackoverflow上已经阅读了很多解决方案,但没有一个能够工作.

这是我的片段代码:

btnPhoto = (Button) rootView.findViewById(R.id.taskBtnPhoto);
photoView = (ImageView) rootView.findViewById(R.id.taskPhotoView);

btnPhoto.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        takePhoto();
    }
});

btnPhoto.setFocusable(true);
btnPhoto.setFocusableInTouchMode(true);
btnPhoto.requestFocus();

btnPhoto.setOnKeyListener(new View.OnKeyListener() {
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {

        if (KeyEvent.KEYCODE_VOLUME_UP == keyCode) {
            doFoo();
            return true;
        }
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

此代码放在onCreateView我的片段中.使用debug,当我KeyEvent从ADB 启动或使用手机的硬件密钥(音量键)时,永远不会触发事件.

java events android android-fragments

4
推荐指数
1
解决办法
3014
查看次数

标签 统计

android ×1

android-fragments ×1

events ×1

java ×1