在我的 Activity 中,我有两个 Fragment。两个 Fragment View 都有 EditText。我想隐藏 Fragment 中其中一个 EditText 上的软键盘。
在布局设置之前,我尝试在一个 fragment 中使用此代码
getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
当我使用这行代码时,键盘隐藏在两个 fragment 中。但我想在一个 fragment View 中显示键盘
我在EditText“OnTouchListener”和“OnClickListener”时尝试另一行代码
edt_dailNumber.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
closeKeyboard(getActivity(),edt_dailNumber.getWindowToken());
return false;
}
});
edt_dailNumber.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
closeKeyboard(getActivity(), edt_dailNumber.getWindowToken());
}
});
public static void closeKeyboard(Context c, IBinder windowToken) {
InputMethodManager mgr = (InputMethodManager) c.getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.hideSoftInputFromWindow(windowToken, 0);
}
通过使用此代码,它隐藏了软键盘。
但是当我第一次按下/触摸 EditText 时,键盘就会显示。之后第二次开始键盘隐藏
<EditText
android:id="@+id/edt_dailNumber"
android:layout_width="0dp"
android:layout_weight=".85"
android:paddingLeft="5dp"
android:layout_gravity="center_vertical"
android:textSize="@dimen/dail_dailpad_hint_text_size"
android:layout_marginLeft="8dp"
android:textColor="#000"
android:inputType="number"
android:gravity="center"
android:ellipsize="start"
android:layout_height="match_parent"
android:background="@drawable/edit_text_line_contacts"
/>
我不明白为什么第一次按时会显示软键盘
谁能给我解决这个问题
提前致谢:)
最佳答案
转到您的 list 文件,该文件用于编辑文本并放置单行 android: windowSoftInputMode="stateHindden"
关于安卓 : EditText Soft Keyboard is not hiding at first time press,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33294796/