J'utilise code> DialogmentFRAGMENT code> avec J'ai essayé de paramétrer Puis j'ai essayé de paramétrer ListView code> (Pour répertorier tout le client) et
edittext code> (à rechercher dans la liste), ça marche bien. Mais, chaque fois que la boîte de dialogue est affichée du fragment, le clavier est toujours affiché et l'utilisateur doit démissionner. Y a-t-il un moyen de masquer cela à la première fois tout en montrant le fragment de dialogue? Ensuite, lorsque l'utilisateur clique sur Edition du texte, le clavier doit apparaître. P>
Android: Capable = "FALSE" CODE> dans mon XML mais, il masque toujours le clavier après avoir cliqué sur
eittext code> pas non plus. P>
android: focautintouchmode = "vrai" code> mais, d'avoir la même chose que ci-dessus p>
4 Réponses :
Ceci devrait résoudre votre problème
android:windowSoftInputMode="stateUnchanged"
Dans votre boîte de dialogue ONCreateView () ajoutez les éléments suivants:
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; }
Impressionnant. J'avais vu tous les autres postes qui viennent de traiter des activités et que je ne le mettit que lorsque je traite avec des fragments, il n'a pas fonctionné. GetDialog () vs getactivité () était la clé pour moi. Merci!
Cela ne fonctionne pas lorsque la boîte de dialogue est un datapickerfragment code> dans Android 4.4, et je mettez la méthode Masquer le clavier dans la méthode
OnResume () Code> et fonctionne. Quoi qu'il en soit, merci.
Utilisez cette méthode, cela fonctionne pour moi:
public void hideSoftKeyboard() { try { View windowToken = getDialog().getWindow().getDecorView().getRootView(); InputMethodManager imm = (InputMethodManager) getDialog().getContext().getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow( windowToken.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } catch (Exception ex) { Log.e(ex); } }
Case 1: Si vous souhaitez fermer le clavier sur l'ouverture du fragment de dialogue
public static void hideDialogFragmentKeyboard(Context context,View view) { view.postDelayed(new Runnable() { @Override public void run() { InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(view.getWindowToken(), 0); } }, 100); }
Jetez un coup d'œil à cette Post
Stackoverflow.com/ Questions / 1555109 / ...
merci vos amis vérifieront-le et laissez-vous savoir @ganesh