Как передать сообщение (через Handler) из EditText.onSelectionChanged в Activity

239
20 марта 2017, 07:43

Привет.
У меня есть класс, наследованный от EditText c обработчиком выделения текста.
При выделении текста мне нужно передать сообщение в класс Main о том, что текст выделен, чтобы Main отобразил тулбар.
Я создал класс, наследуемый от Application, поместил туда Handler, но не знаю, как реализовать обработку сообщения в классе Main.

Обработчик выделения текста

public class RichEditTextWListener extends RichEditText {
    @Override
    public void onSelectionChanged(int start, int end) {
        super.onSelectionChanged(start, end);
      //Если start != end, должно уходить сообщение в Handler
        ExtendedApplicationClass ext = (ExtendedApplicationClass) getContext();
        Message msg = new Message();
        msg.what = start != end ? 1 : 0;
        ext.selectionHandler.dispatchMessage(msg);
    }
}

Класс с глобальным Handler

public class ExtendedApplicationClass extends Application {
    Handler selectionHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            //тут должен запускаться метод из класса Main
        }
    };
}

Метод в классе Main

public void textSettings(boolean show) {
    LinearLayout l = (LinearLayout) findViewById(R.id.TextSettings);
    if (show)
        l.setVisibility(View.VISIBLE);
    else
        l.setVisibility(View.GONE);
}

Итак, как связать onSelectionChanged и Main через Handler?
Может быть, есть другие способы управлять интерфейсом из данного листенера?

READ ALSO
PreparedStatement и defaul value в jdbc Spring

PreparedStatement и defaul value в jdbc Spring

Подскажите, пожалуйста, создаю PreparedStatement c запросом на вставку в PostgreSQLВ таблице есть поле created (с типом TimestampTZ)

231
Что выбрать: Appodeal или Admob?

Что выбрать: Appodeal или Admob?

Добрый день всем! На сегодняшний день интересует вопрос: какая сеть приносит больше дохода и какая сеть более стабильная? То, что appodeal выводит...

584
Как создать копию View чтобы уменьшить код?

Как создать копию View чтобы уменьшить код?

Если присмотреться, то 2 объекта класса EditText почти одинаковыеМожно ли как-то создать копию 2 из 1, а после уже исправить значения

198
Регулярное выражение поиска тега html java

Регулярное выражение поиска тега html java

У меня есть значение атрибута href и мне надо найти весь тег с этим атрибутом на html;

209