0

このコードを使用してみましたが、Enterキーを押したときにnull値を取得し続けますか?誰かがこれを回避するための解決策を提案できますか?

editext.setOnKeyListener(new View.OnKeyListener() {         
   public boolean onKey (View v, int keyCode, KeyEvent event) {             
      // TODO Auto-generated method stub             
      if (keyCode==KeyEvent.KEYCODE_ENTER) {                  
         if ("test1".equalsIgnoreCase(editext.getText().toString())) {                    
            but4.performClick();                     
         }
      }                 
      else if ("test2".equalsIgnoreCase(editext.getText().toString())) {            
         but5.performClick();                 
      }              

      if ("test5".equalsIgnoreCase(editext.getText().toString())) {              
         but6.performClick();             
      }              

      if ("test7".equalsIgnoreCase(editext.getText().toString())) {              
         but7.performClick();             
      }             

      if (editext.getText().toString() != null){               
         testwrong.seText("wrong");               
      }          

      return true;             
   }
}); 
4

1 に答える 1

0

ドキュメントによると、keyCode値は押されたハードウェアキーに対応します。これはおそらくソフト キーボードを指していません。

から押されたキーボード キーの値を取得してみてくださいKeyEvent

于 2012-10-18T11:26:23.530 に答える