سؤال

hi guys how to hide soft keypad when am changing the one view pager to another view pager

the problem is in view pager having four tabs,first tab having search option when i click search edit text then after i click another tab.soft key pad is visible in next tab.

how to reslove this problem, i tryed this way it's not working

((InputMethodManager) getActivity().getSystemService(Activity.INPUT_METHOD_SERVICE))
        .toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, 0);

help

هل كانت مفيدة؟

المحلول 3

just added setOnFocusChangeListener to Edittext , then it working fine .

EditText editTextProfileName = (EditText) view
                    .findViewById(R.id.nameEditText);

            editTextProfileName.setOnFocusChangeListener(new OnFocusChangeListener() {

                public void onFocusChange(View v, boolean hasFocus) {
                      if (!hasFocus) {
                            hideKeyboard();
                        }
                }

                private void hideKeyboard() {
                    if (editTextProfileName != null) {
                        InputMethodManager imanager = (InputMethodManager) getActivity()
                                .getSystemService(Context.INPUT_METHOD_SERVICE);
                        imanager.hideSoftInputFromWindow(editTextProfileName.getWindowToken(), 0);

                    }

                }
            });

Thanks

نصائح أخرى

Just add this attribute in your AndroidManifest under activity tag :

    <activity
        android:name="com.example.myApp.MyActivity"
        android:windowSoftInputMode="stateHidden" >
    </activity>

Try following code.

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(any_focusable_view_reference.getWindowToken(), 0);

Here any_focusable_view_reference means EditText or such which has focus.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top