我有一个带有编辑文本的对话框。我想在用户在键盘中单击完成时执行一项操作。我的代码看起来像
我的编辑文本 xml 看起来像
<EditText
android:id="@+id/commondialog_userinput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:imeOptions="actionDone"
android:selectAllOnFocus="true"
android:inputType="text" />
并且添加的侦听器是
final EditText inputField = (EditText)dialog.findViewById(R.id.commondialog_userinput);
inputField.setInputType(EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
inputField.setText(AndroidGlobalVariables.getDocumentName(), TextView.BufferType.EDITABLE);// No I18N
inputField.setFocusableInTouchMode(true);
inputField.requestFocus();
inputField.selectAll();
inputField.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
Toast.makeText(EditorActivity.getActivity(), inputField.getText(),Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
});