android - tastiera edittext non visualizzata
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
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.