Android: проблемы с EditText [duplicate]

Используется причина, вызывающая анонимные функции: они никогда не должны вызываться другим кодом, поскольку они «настраивают» код, который должен быть вызван (наряду с предоставлением возможностей для функций и переменных).

Другими словами, они похожи на программы, которые «делают классы» в начале программы. После того, как они создаются (автоматически), единственными доступными функциями являются те, которые возвращаются анонимной функцией. другие «скрытые» функции все еще существуют вместе с любым состоянием (переменные, заданные при создании области).

Очень круто.

3
задан jax 6 February 2010 в 20:06
поделиться

5 ответов

Это известная ошибка в платформе Android. Вот ссылка на вопрос .

3
ответ дан Mark Byers 22 August 2018 в 20:47
поделиться

Я исправил его с помощью custom TextEntry. Изменен onSelectionChanged и поместил там код из loopj!

Мой код:

@Override
protected void onSelectionChanged(int selStart, int selEnd) {
    if (selStart >= 0) {
        super.onSelectionChanged(selStart, selEnd);
    } else {
        setSelection(getText().length());
    }
}
1
ответ дан Jared Burrows 22 August 2018 в 20:47
поделиться

Для тех, кто все еще борется с этой проблемой, размещение этого кода в вашей работе onResume будет решить его:

textEntry.setSelection(textEntry.getText().length(), textEntry.getText().length());
0
ответ дан loopj 22 August 2018 в 20:47
поделиться
  • 1
    Кажется, это не работало для меня, я все еще ищу обходное решение – andygeers 13 August 2014 в 09:31

Его последнее, но вчера я выяснил эту проблему. Проблема в вашем случае - ваш конец до начала, как 7 .... 0, что неверно, если вы хотите выделить текст, который вы начинаете, должен быть меньше вашего конца. Посмотрите на представленный пример, он отлично работает.

Ответ для тех, кто все еще имеет эту проблему.

 String searchText = "Your search String";
        String qr_code = "Your String";

        int length = searchText.length();
        if (length > 0) {
            //color your text here
            int index = qr_code.indexOf(searchText);
            SpannableString sb = new SpannableString(qr_code);
            ForegroundColorSpan fcs = new ForegroundColorSpan(getResources().getColor(R.color.colorAccent));
            sb.setSpan(fcs, index, (index+length), Spanned.SPAN_EXCLUSIVE_INCLUSIVE)
            holder.textViewShortCode.setText(sb);
        } else {
            textViewShortCode.setText(Html.fromHtml(qr_code));
        }
0
ответ дан Xäiñ Ul Abideen 22 August 2018 в 20:47
поделиться
[g0] если android не может установить выделение, которое вы делаете, используя позицию курсора ... я решил проблему, поставив это точно перед строкой сбоя [/g0] [f1]
1
ответ дан Jared Burrows 5 November 2018 в 18:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: