我实际上是在片段中使用我自己的一组数字按钮在edittext中添加数字,它工作正常。问题是当我触摸edittext以粘贴或删除某个位置的字符时,它会显示我尝试了几个解决方案的软输入:
android:windowSoftInputMode="stateAlwaysHidden" //in Manifest
etNumber.setFocusableInTouchMode(false); //tried xml version of thisas well
etNumber.setFocusable(false);
final InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getView().getWindowToken(), 0); //no luck with imm as well.
getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); //This disables the softinput but on entire activity, I need softinput on another fragment.
我希望它表现:
- 当我的自定义键盘数字被按下时开始添加数字。
- 在没有软键盘的情况下在用户触摸的位置显示光标,从这里我的自定义退格键将删除最后一个字符,或者用户可以在光标位置粘贴。
- 允许文本选择而不弹出软输入。
- 只有当用户触摸编辑文本时,光标才会成为焦点。
- 并且不要干扰其他片段的软输入。