android - tastiera edittext non visualizzata

Oct 13 2020

Sto creando un edittext a livello di programmazione . Ma non sono riuscito a digitare nulla nel testo dell'editor . Ho coperto tutte le risposte correlate su questo sito ma nessuna ha funzionato per me. Forse mi mancano alcuni dettagli minori. Sarebbe utile se potessi ricevere aiuto.

Codice per creare edittext dinamicamente:

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);

Alcune delle risposte che ho coperto:

Come posso impostare lo stato attivo (e visualizzare la tastiera) sul mio EditText a livello di programmazione

Android: EditText creato a livello di programmazione senza mostrare la tastiera

Android: come aprire la tastiera per modificare EditText quando si fa clic sul pulsante?

Disabilita la tastiera su EditText

Come disabilitare la tastiera quando clicco su Modifica testo?

Risposte

1 TrevorSoare Dec 04 2020 at 10:27

Avevo lo stesso problema e niente ha funzionato fino a quando non ho trovato una risposta in uno dei post di anni fa che funzionava. Ripubblicherò lo strano trucco per chiunque possa avere questo problema in futuro.

Nel tuo file xml, aggiungi un testo fittizio al tuo livello di layout più in alto che assomiglia a questo:

<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"/>

il testo fittizio aprirà la tastiera, ma il testo editoriale creato programmaticamente sarà ancora attivo.