J'ai une activité simple qui utilise un android:theme="@android:style/Theme.Dialog"
dans le manifeste.Afficher automatiquement le clavier logiciel dans une activité de dialogue
Mon activité consiste en un EditText, 2 boutons et un TextView. Ce n'est rien de plus qu'une boîte pour l'utilisateur d'entrer un nom et appuyez sur OK/Annuler.
Je veux juste faire la mise au point de l'EditText et faire en sorte que le clavier virtuel s'affiche automatiquement lorsque l'activité est démarrée. J'ai lu d'innombrables articles à ce sujet, mais je n'arrive pas à le faire fonctionner. Lorsque l'activité commence, le curseur clignotant apparaît dans l'EditText, mais le clavier ne s'affiche pas jusqu'à ce que je clique dessus.
Voici mon activité:
public class Finalize extends Activity {
private EditText mEditName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.finalize_dialog);
mEditName = (EditText) findViewById(R.id.file_name_edit);
mEditName.setFocusable(true);
mEditName.requestFocus();
mEditName.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
});
}
}
J'ai aussi essayé cela en onCreate:
InputMethodManager mgr = (InputMethodManager) getSystemService(this.INPUT_METHOD_SERVICE);
mgr.showSoftInput(mEditName, 0);
Edit: Mon manifeste pour référence
<activity class=".Finalize"
android:name=".Finalize"
android:label="@string/file_name_title"
android:theme="@android:style/Theme.Dialog"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysVisible">
</activity>
Malheureusement, cela ne fonctionne pas. – user432209
Y a-t-il une raison particulière pour laquelle vous utilisez une activité à thème comme une boîte de dialogue au lieu de simplement lancer une boîte de dialogue? – Thomas
@ user432209 Votre périphérique de test dispose-t-il d'un clavier physique? – Thomas