Cacher le clavier après l'appel de nouvelle Activité qui montre une ProgressDialog
J'ai du mal avec le clavier à l'écran. J'ai une activité avec une EditText
qui montre le clavier, et un bouton pour accéder à une deuxième activité. La deuxième activité montre une ProgressDialog
sur son onCreate()
, n'choses, et rejette la ProgressDialog
. Le problème est que, bien que la ProgressDialog
est affiché, ainsi que le clavier.
Je voudrais le clavier à disparaître avant la création de la ProgressDialog
. J'ai cherché thorougly les deux StackOverflow et d'autres sites, mais rien ne semble fonctionner avec ce scénario particulier.
Je suis joignant deux photos pour votre référence:
C'est le code de la première activité:
public class FirstActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);
}
});
}
}
et c'est le code de la deuxième activité:
public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
//TODO: hide keyboard here
final ProgressDialog dialog = ProgressDialog.show(this, "", "Please wait...", true, false, null);
//in real code, here there is an AsyncTask doing stuff...
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
dialog.dismiss();
}
}, 5000);
}
}
Grâce
- Jetez un oeil à ceci: stackoverflow.com/a/3858873/1321873
- déjà essayé, pas applicable ici. La deuxième activité doit masquer le clavier, même si le clavier a été montré par une autre activité.
Vous devez vous connecter pour publier un commentaire.
Résolu en utilisant une variante de la technique posté par phalt:
Ce code fonctionne correctement pendant
onCreate
/onStart
/onResume
, car ne comptez pas sur une vue de la fenêtre de jeton de.Écrire ce code dans manifest.xml fichier 'SecondActivity' Activité.
vous pouvez l'utiliser comme ça aussi:
InputMethodManager imm;
Écrire en dessous de la ligne dans onCreate() Méthode:
imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
Et cette ligne est dans le onclick du bouton:
imm.hideSoftInputFromWindow(arg0.getWindowToken(), 0);
Exemple:
Si, Dans Le Fragment De Classe
Si Dans La Classe D'Activité
Avez-vous essayé:
C'est le code que j'ai du jeter au points que je tiens à masquer le clavier.