2010-11-17 50 views
6

如果(在Android中)我有一個EditText框,當用戶輸入數據並點擊return/Next時,如何觸發事件?如何在用戶點擊輸入時觸發操作?

我試過使用下面的代碼,但它似乎沒有效果。我也從類型new extView.OnEditorActionListener(){}的方法onEditorAction(EditText,int,KeyEvent)從來沒有在本地使用'錯誤。

myEditText.setOnEditorActionListener(new EditText.OnEditorActionListener() { 
      public boolean onEditorAction(EditText v, int actionId, KeyEvent event) { 
       if (actionId == EditorInfo.IME_ACTION_NEXT) 
       { 

回答

9

我打得四處各種事情了一下,發現下面的代碼工作:

myEditText.setOnEditorActionListener(new OnEditorActionListener() {      
    @Override 
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
     // Do some stuff 
    } 
}); 
3

將KeyListener添加到監聽關鍵事件的文本框中。在關鍵事件中,按下「ENTER」鍵並執行您的操作。

你可以在這裏找到類似的東西:Android Development: How To Use onKeyUp?和文檔UI-Events

一個很好的例子就是鏈接的SO問題。在此之後,你應該得到想要的結果。

+0

由於Android文檔中指定,默認軟件鍵盤永遠不會將任何關鍵事件發送到任何針對Jelly Bean或更高版本的應用程序,並且只會將一些按下刪除和返回鍵的事件發送到以Ice Cream Sandwich或更早版本爲目標的應用程序。 – 2014-05-07 12:29:21

4

我相信你想要的是setOnEditorActionListener()方法,dev guide info here on the method.

+0

交互方法。從來沒有來過這一個...將記住。 – DrColossos 2010-11-17 21:51:53

+1

@DrColossos @CommonsWare更多相關信息http://stackoverflow.com/questions/1489852/android-handle-enter-in-an-edittext/1489895#1489895 – 2010-11-17 21:54:30

+0

謝謝。如果有人點擊了EditText然後點擊了,這也可以起作用。可能由失去焦點命令來處理? – Entropy1024 2010-11-17 22:22:41

相關問題