来自模拟器的Keydown

时间:2016-12-01 10:19:13

标签: android

大家,我的申请表有问题,请参阅下面的代码以供参考。我面临的问题是,当我从我的模拟器键盘中按下textview中的keydown时,我想取消选中我的复选框..谢谢你提前

   in main activity textbox is:
    user = (EditText)findViewById(R.id.textbox1);

   @Override
   public boolean onKeyDown(int keyCode, KeyEvent event) {
    switch (keyCode) {
        case KeyEvent.KEYCODE_D:
            checbox.setChecked(false);
            return true;

        default:
            return super.onKeyDown(keyCode, event);
    }

3 个答案:

答案 0 :(得分:0)

您正在使用KeyEvent.KEYCODE_D,这是字母D'的关键。

你想要的可能是KeyEvent.KEYCODE_DPAD_DOWN: - )

答案 1 :(得分:0)

假设您在EditText(不是TextView)中键入任何可以使用TextWatcher的键。

user = (EditText)findViewById(R.id.textbox1);

user.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
    @Override
    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
    @Override
    public void afterTextChanged(Editable editable)
    {
        checbox.setChecked(false);
    }
});

答案 2 :(得分:0)

谢谢你们..

它正在运作

             @Override
             public boolean onKeyDown(int keyCode, KeyEvent event) {
             switch (keyCode) {
                       case KeyEvent.KEYCODE_DEL:
                       checbox.setChecked(false);
                       return true;
                       default:
                       return super.onKeyDown(keyCode, event);
                    }
                }