Search code examples
androidandroid-studioandroid-edittextandroid-softkeyboardandroid-input-method

android - edittext keyboard not showing


I am creating an edittext programmatically. But I was not able to type anything into the edittext. I have covered all the related answers on this site but none of them worked for me. Maybe I am missing some minor details. It would be helpful if I can get some help.

Code to create edittext dynamically:

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

Some of the answers that I covered:

How can I set the focus (and display the keyboard) on my EditText programmatically

Android - EditText made programmatically not showing keyboard

Android: How to open keyboard for editing EditText when click button?

Disable keyboard on EditText

How to disable the keyboard when I click on EditText?


Solution

  • I was having the same problem and nothing worked until I found an answer way down in one of the posts from years ago that worked. I'll repost the weird hack for anyone who might have this problem in the future.

    In your xml file, add a dummy edittext to your topmost layout layer that looks like this:

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

    the dummy edittext will open the keyboard, but your programatically created edittext will still have focus.