EditText通过设置android:imeOptions来改变默认的”文本或者样式。这里举几个常用的常量值:
actionUnspecified 未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.
actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE
actionGo 去往,对应常量EditorInfo.IME_ACTION_GO
actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH
actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND
actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT
actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE
<EditText
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="输入单位"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:singleLine="true"
android:imeOptions="actionSearch"
/>
我发现必须加android:singleLine="true" 才行
对于事件捕捉:
companySearchET.setOnEditorActionListener(new TextView.OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
final String searchStr = companySearchET.getText().toString().trim();
if (actionId==EditorInfo.IME_ACTION_SEARCH
||(event!=null&&event.getKeyCode()== KeyEvent.KEYCODE_ENTER)) {
//do something;
if(searchStr == null || "".equals(searchStr)){
Toast.makeText(CompanyChangeActivity.this, "请输入单位关键字", Toast.LENGTH_SHORT).show();
Log.e("这里", "这里");
return true;
}else{
}
return true;
}
return false;
}
});