Android 开发问题:EditText 控件的 android:imeOptions=“actionDone“ 属性不生效

发布时间:2026/6/16 9:04:13

Android 开发问题:EditText 控件的 android:imeOptions=“actionDone“ 属性不生效 EditTextandroid:idid/et_testandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:hint请输入内容android:imeOptionsactionDone/在 Android 开发中上述代码中EditText 控件的android:imeOptionsactionDone属性不生效即无法实现点击软键盘上的“完成”按钮时问题原因android:imeOptionsactionDone属性用于将软键盘右下角的回车按钮变为“完成”按钮目的是为了隐藏软键盘根本原因是未设置单行输入系统优先允许换行但也可以监听此动作执行自定义操作处理方法使用android:inputTypetext属性设置为单行输入EditTextandroid:idid/et_testandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:hint请输入内容android:imeOptionsactionDoneandroid:inputTypetext/或者使用监听器监听此动作执行自定义操作EditTextandroid:idid/et_testandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:hint请输入内容android:imeOptionsactionDone/EditTextetTestfindViewById(R.id.et_test);etTest.setOnEditorActionListener((v,actionId,event)-{Log.i(TAG,actionId: actionId);if(actionIdEditorInfo.IME_ACTION_DONE){// 隐藏软键盘hideKeyboard();// 清除焦点v.clearFocus();// 表示监听器已经处理这个事件系统不需要再处理returntrue;}// 针对某些输入法的情况if(actionIdEditorInfo.IME_ACTION_UNSPECIFIED){if(event!nullevent.getAction()KeyEvent.ACTION_DOWNevent.getKeyCode()KeyEvent.KEYCODE_ENTER){hideKeyboard();v.clearFocus();returntrue;}}returnfalse;});InputMethodManagerimm(InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(),0);

相关新闻