代码之家  ›  专栏  ›  技术社区  ›  daneejela

如何禁用EditText进行手动输入,但仍从内置条形码扫描仪接收数据?

  •  0
  • daneejela  · 技术社区  · 7 年前

    我正在使用其中一个内置条形码扫描仪的设备。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Nikos Hidalgo farhad mohammadi    7 年前

    对单击和聚焦禁用它,但以编程方式将扫描仪的结果添加到其中。

    在布局中,对EditText使用以下属性:

    android:focusable="false"
    android:clickable="false"
    

    结果是:

    yourEditText.setText(scannerText);
    
        2
  •  0
  •   Cerveza    6 年前

    我可以通过在onkeylister上重写onKey方法来实现这一点:

      editText.setOnKeyListener(new View.OnKeyListener() {
          @Override
          public boolean onKey(View v, int keyCode, KeyEvent event) {  
           // you have to return false on ENTER (buildIn scanner) 
           //or Back key to change activity
           //you can add ur keycodes here
               if(keyCode == KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_BACK){
                   return false;
               } else {
                   return true;
               }
           }
       });