2012-01-23 68 views
1

我有一個簡單的編輯文本,我已經添加到我的佈局。我添加了一個簡單OnKeyListener如onCreate方法如下:Edittext幫助 - onKeyListener不起作用

final EditText simpleEditText = (EditText) findViewById(R.id.editText1); 
simpleEditText.setOnKeyListener(new OnKeyListener() { 
@Override 
public boolean onKey(View arg0, int arg1, KeyEvent arg2) { 
    System.out.println("HELLO"); 
    return false; 
} 
}); 

應用程序啓動時,一切正常。對於每個按鍵,HELLO都會打印兩次 - 一次用於向下動作,一次用於向上動作。

現在當我用鼠標點擊edittext時,edittext不再運行我的onKey方法中的代碼。我究竟做錯了什麼?我仍然希望在用戶點擊edittext後收到關鍵事件。我不關心鼠標點擊,我只是用它來重新定位光標。遊標重新定位後,關鍵事件不再註冊。

請參閱附加圖片以查看更多信息。

感謝 ZAMIL

http://i.stack.imgur.com/j2DP7.jpg

回答

1

As per android API,安其只能爲被按下的物理按鍵。您可能需要考慮使用OnClickListener進行鼠標點擊。這裏是API documentation

+0

我仍然希望在用戶點擊edittext後收到關鍵事件。我不關心鼠標點擊,我只是用它來重新定位光標。遊標重新定位後,關鍵事件不再註冊。 – user1137939

0

點擊事件不是關鍵事件。除了關鍵事件以外,您不會(也不應該)接收onKey事件。

+0

我仍然希望在用戶點擊edittext後收到關鍵事件。我不關心鼠標點擊,我只是用它來重新定位光標。遊標重新定位後,關鍵事件不再註冊。 – user1137939