android - clavier edittext ne s'affiche pas

Oct 13 2020

Je crée un edittext par programmation . Mais je n'ai rien pu taper dans l'edittext . J'ai couvert toutes les réponses liées sur ce site mais aucune d'elles n'a fonctionné pour moi. Il me manque peut-être quelques détails mineurs. Ce serait utile si je pouvais obtenir de l'aide.

Code pour créer un edittext dynamiquement:

EditText editText = new EditText(dt.c);
editText.setBackground(context.getResources().getDrawable(R.drawable.rectangle_answer));
editText.setTextColor(ContextCompat.getColor(dt.c, R.color.md_black_1000));
editText.setTextSize(16);
editText.setTag(questionDetails[0].getOptionId());
editText.setFocusable(true);
editText.setHint(dt.gStr(R.string.enter_your_answer));
editText.requestFocus();
container.Add(editText);

Certaines des réponses que j'ai couvertes:

Comment puis-je définir le focus (et afficher le clavier) sur mon EditText par programmation

Android - EditText créé par programme sans afficher le clavier

Android: Comment ouvrir le clavier pour éditer EditText lorsque vous cliquez sur le bouton?

Désactiver le clavier sur EditText

Comment désactiver le clavier lorsque je clique sur EditText?

Réponses

1 TrevorSoare Dec 04 2020 at 10:27

J'avais le même problème et rien ne fonctionnait jusqu'à ce que je trouve une réponse dans l'un des messages d'il y a des années qui fonctionnait. Je republierai le hack étrange pour tous ceux qui pourraient avoir ce problème à l'avenir.

Dans votre fichier xml, ajoutez un edittext factice à votre couche de mise en page supérieure qui ressemble à ceci:

<EditText
            android:id="@+id/editTextFix"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:importantForAutofill="no"
            tools:targetApi="o"
            android:inputType="text"
            android:visibility="gone"/>

l'edittext factice ouvrira le clavier, mais votre edittext créé par programme aura toujours le focus.