Ничего не получая при вызове функции executeClick () - Android - PullRequest
0 голосов
/ 22 февраля 2019

Я новичок в разработке для Android, и теперь я пытаюсь смоделировать щелчок на моем AutoCompleteTextView объекте.Я ожидаю появления клавиатуры Android по умолчанию с возможностью напечатать что-нибудь на элементе

Вот простая функция, где я пытаюсь ее выполнить:

private void someTestMethodName() {
    AutoCompleteTextView tagSearchInput = findViewById(R.id.autoCompleteTextView);
    tagSearchInput.performClick();
}

А вот определение элемента .xml:

<AutoCompleteTextView
        android:id="@+id/autoCompleteTextView"
        android:text="TextView"
        android:layout_width="188dp"
        android:layout_height="62dp"
        android:layout_alignParentStart="true"
        android:layout_marginStart="108dp"
        android:layout_alignParentTop="true"
        android:layout_marginTop="292dp"/>

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Вызов performClick на TextView не вызывает экранную клавиатуру, но вы можете довольно легко сделать это самостоятельно:

private void someTestMethodName() {
    AutoCompleteTextView tagSearchInput = findViewById(R.id.autoCompleteTextView);
    showSoftKeyboard(tagSearchInput);
}

public void showSoftKeyboard(View view){
    if(view.requestFocus()){
        InputMethodManager imm =(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.showSoftInput(view,InputMethodManager.SHOW_IMPLICIT);
    }
}

Дополнительную информацию можно найти здесь: https://github.com/codepath/android_guides/wiki/Working-with-the-Soft-Keyboard

0 голосов
/ 22 февраля 2019

я никогда не использовал executeClick, вы не можете использовать setOnClickListener, чтобы поймать клик

tagSearchInput.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //do somthing
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...