Как настроить фокус на editText Preference и автоматически отображать клавиатуру?

Я изучаю настройки и создал это

введите здесь описание изображения

После нажатия на EditText я получаю это

введите здесь описание изображения

Я пытаюсь сделать вот что.

введите здесь описание изображения

Клавиатура и фокус на редактируемом тексте отображаются только при нажатии на них. Я хочу, чтобы это происходило автоматически, когда я нажимаю EditText (это editxText).


person ancientone    schedule 10.01.2020    source источник
comment
здесь: stackoverflow.com/questions/8991522/   -  person Hoàng Vũ Anh    schedule 10.01.2020
comment
Во всплывающем окне вам нужно установить фокус в тексте редактирования?   -  person Parth Lotia    schedule 10.01.2020


Ответы (2)


в вашем фрагменте предпочтений, который простирается от PreferenceFragmentCompat, переопределить onResume() ниже

@Override
public void onResume() {
    super.onResume();
    Preference search = findPreference(getString(R.string.setting_edit_text_key));
    search.performClick();
}

Иллюстрация: вы расширяете EditTextPreference с помощью его ключа и выполняете щелчок по нему.

person Zain    schedule 10.01.2020
comment
Во-первых, нет метода с именем PerformClick(). Вы должны использовать setOnPrefernceClickListener()\ - person ancientone; 10.01.2020
comment
Привет @VivekVerma, кажется, вы используете Preference из пакета android.preference вместо android.support.v7.preference package; performClick() доступен позже - person Zain; 10.01.2020

Вы можете написать так:

    EditText editText = findViewById(R.id.textViewId);
    editText.requestFocus();
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
person Nensi Kasundra    schedule 10.01.2020
comment
Это настройка EditText, а не текст редактирования, я не могу получить к нему доступ по его идентификатору, потому что у него нет идентификатора, у него есть ключ - person ancientone; 10.01.2020