2011-04-17 194 views
1

動機:我希望當我在edittext中傳遞文本時按下Enter鍵,然後edittext的工作將停止並且edittext將不可見。我的代碼在這裏在android中編輯文本的動作

edt=(EditText) findViewById(R.id.edt); 
      edt.setVisibility(View.VISIBLE); 
      edt.setOnKeyListener(new View.OnKeyListener() { 

       @Override 
       public boolean onKey(View arg0, int arg1, KeyEvent arg2) 
       { 
        if(arg2.getAction()==KeyEvent.KEYCODE_ENTER) 
        { 
         edt.setVisibility(View.INVISIBLE); 
        } 
        return false; 
       } 
      }); 

但它不工作。什麼問題?

回答

2

getAction()不會爲您提供鍵碼。你想用getKeyCode()來代替。

變化

if(arg2.getAction()==KeyEvent.KEYCODE_ENTER) 

if(arg2.getKeyCode()==KeyEvent.KEYCODE_ENTER) 

另外,如果我理解正確的話,你希望的EditText完全消失。如果你使用的是線性佈局或類似的東西,EditText將不可見,但它仍然存在,佔用空間。如果您希望edittext完全消失,則應使用edt.setVisibilty(View.GONE)而不是edt.setVisibilty(View.INVISIBLE)