Pergunta

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

Foi útil?

Solução 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

Outras dicas

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top