rip*_*pel 9 android android-layout android-softkeyboard
简短的问题:是否可以(以及如何)从服务中显示软键盘?
长问题:我写了一个服务,它创建了一个"顶栏",显示在所有活动的顶部,包含一个EditText.我想在单击EditText时显示软键盘,但这不会发生.
当然我已经从服务的onFocusChange()和onClick()尝试了这个:
InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED);
Run Code Online (Sandbox Code Playgroud)
我想到的解决方法是通过扩展Activity类并添加AIDL接口来请求当前活动显示键盘.缺点是必须将每个键事件发送回服务(通过另一个AIDL接口)并手动转换为Unicode.
此外,如果当前活动包含EditText,则软键盘仅适用于活动,并且在选择服务的EditText时不再显示.
如果当前活动有EditText,会阻止服务的软键盘显示什么?这可能是Android的限制吗?
Neh*_*ani -1
如果您想在 edittext 的触摸上显示软键盘,为什么不考虑将 onTouchListener 与该 edittext 一起使用。我相信 edittext.requestfocus() 也会这样做。如果没有,听众肯定会工作。
此外,对于您提到的那种视图,最好使用片段而不是服务来创建视图。
| 归档时间: |
|
| 查看次数: |
2023 次 |
| 最近记录: |