I am using DialogFragment
with ListView
(to list all customer) and EditText
(to search from list), it's working fine. But, whenever the dialog shows from the fragment, the keyboard is always shown and the user needs to resign. Is there any way to hide this at the first time while showing the dialog fragment? then, when the user clicks on edit text, the keyboard should appear.
I have tried setting android:focusable="false"
in my XML but, it always hides the keyboard after click on EditText
also not showing.
Then I tried setting android:focusableInTouchMode="true"
but, getting same as above
It's the left-pointing arrow button at the bottom of the screen, either at the bottom-left or bottom-right corner. The keyboard is now hidden. The back button may be a physical button or on the touch screen.
You can force Android to hide the virtual keyboard using the InputMethodManager, calling hideSoftInputFromWindow , passing in the token of the window containing your focused view. This will force the keyboard to be hidden in all situations. In some cases, you will want to pass in InputMethodManager.
Setting android:isScrollContainer = "false" inside the ScrollView worked for me. According to the documentation, settings "isScrollContainer" to true means that the scroll view can be resized to shrink its overall window so that there is space for an input method.
In your DialogFragment onCreateView() add the following:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View view = super.onCreateView( inflater, container, savedInstanceState );
//to hide keyboard when showing dialog fragment
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
return view;
}
This should solve your problem
android:windowSoftInputMode="stateHidden"
or
android:windowSoftInputMode="stateUnchanged"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With