Я хочу изменить фокус EDITTEXT, executeAction (AccessibilityNodeInfo.ACTION_CLEAR_FOCUS) всегда возвращать false на editText - PullRequest
0 голосов
/ 29 декабря 2018

Я хочу очистить фокус ввода от editText в моей службе специальных возможностей для конкретного действия.

Я получаю узел с фокусом ввода и пытаюсь его очистить, но executeAction всегда возвращает false:

AccessibilityNodeInfo root = getRootInActiveWindow();
AccessibilityNodeInfo focus = root.findFocus(AccessibilityNodeInfo.FOCUS_INPUT);

if(focus != null){

    focus.getText(); //return the text in my input
    focus.isFocusable(); //return true
    focus.isFocused(); // return true
    focus.getActions(); //Return the bitmask that contain the Action_clear_focus

    boolean sucess = focus.performAction(AccessibilityNodeInfo.ACTION_CLEAR_FOCUS);
    Log.v(TAG, "sucess = " + sucess); //Always return FALSE

}

1 Ответ

0 голосов
/ 02 января 2019

Мне неизвестно о конкретной обработке для ACTION_CLEAR_FOCUS для EditText.Возвращаемое значение для действия в View.java - просто! IsFocused ().

Если вы также владеете кодом приложения, вы можете просто пройтись по коду и посмотреть, что происходит.Если приложение решит, что фокус должен быть где-то, и поместит его обратно в EditText, например, вы можете получить наблюдаемое поведение.

...