我的应用中有一个作为搜索框的编辑文本。在我的Nexus 7上的Jelly Bean版本中,当我在文本框中输入一些文字并按下回车键时,传递到onEditorAction()方法的KeyEvent = null和ActionId = 0。有其他人遇到过这个问题吗?我想这可能是一个错误。
在下面的第二个if语句中,由于actionId = 0和KeyEvent = null,我得到了一个空指针异常。
// Search field logic.
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
Log.d(TAG, "onEditorAction");
if (event != null && event.getAction() != KeyEvent.ACTION_DOWN)
return false;
if (actionId == EditorInfo.IME_ACTION_SEARCH
|| event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
.....Do some stuff();
}
}
android-edittext
标签代替edittext
:) - Alex Lockwood[onEditorAction(TextView v, int actionId, KeyEvent event)](http://developer.android.com/intl/es/reference/android/widget/TextView.OnEditorActionListener.html#onEditorAction(android.widget.TextView,%20int,%20android.view.KeyEvent))
,actionId
可能是[EditorInfo.IME_NULL](http://developer.android.com/intl/es/reference/android/view/inputmethod/EditorInfo.html#IME_NULL)
,这意味着按下回车键。 - Alex Cohn