我有一个编辑文本,定义如下。
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:inputType="text"
android:hint="@string/field_text"
android:id="@+id/field"
/>
我想设置一个自定义命令,以便当有人点击屏幕键盘上的Done / Go按钮时,单击一个按钮或只运行按钮运行的方法。我认为这与ime选项有关,但我还没弄清楚它们是如何工作的。在此先感谢您的帮助!
答案 0 :(得分:128)
你想要一个android:imeOptions和setOnEditorActionListener的组合
<EditText android:id="@+id/some_edittext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:imeOptions="actionSend">
</EditText>
some_edittext.setOnEditorActionListener(new OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEND) {
some_button.performClick();
return true;
}
return false;
}
});
显然,您应该将actionSend更改为您想要的操作,并相应地更新IME_ACTION_SEND。
答案 1 :(得分:0)
查看setImeActionLabel
方法(或imeActionLabel
和imeActionId
属性)和setOnEditorActionListener
以设置侦听器以响应事件。