android - 单击TextView(设置为可聚焦)后如何在android上隐藏软键盘?
问题描述
继续 Android setError("error") not working in Textview 中给出的答案 应用解决方案后,即将文本视图更改为可聚焦,单击该文本视图时会弹出一个键盘。怎么隐藏。
PS 我试过 onFocusChangeListener 和 onTouchListener
我想知道在我尝试这个时在哪里调用这个隐藏键盘方法,但这并没有解决问题;
mEndTimeView.setOnClickListener(v -> {
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
if(ViewUtils.isKeyboardShown(mEndTimeView.getRootView())){
imm.hideSoftInputFromWindow(mEndTimeView.getWindowToken(), 0);
}
showEndTimePicker();
});
解决方案
public static void hideKeyboard(Activity activity) {
View view = activity.findViewById(android.R.id.content);
if (view != null) {
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
在按钮单击中调用此方法。
推荐阅读
- django - 在 Django 上更新数据库
- django - 使用 Django,SimpleJWT 检查用户显示内容的权限属于他自己的公司
- amazon-web-services - 按下提交按钮时如何触发从 Flutter 表单获取输入的 AWS Lambda 函数
- ansible - 如何将 ansible playbook 作为 cron 作业运行?
- r - 堆叠的 geom_bar(),每个 x 值有 2 个柱
- python - 如何使我的播放器类中的更新函数通过动画的索引移动
- android - RecaptchaActivity 上的 Android Firebase-auth 崩溃
- python - 并行读取和处理多个文件
- python - 解决积分问题时得到奇怪的结果
- javascript - 什么时候在浏览器中触发 html languagechange 事件?