Получить позицию в EditText при отображении HTML

174
05 марта 2019, 09:30

я делаю калькулятор.

И для реализации степени я использовал тег

Допустим у нас есть строка в edittext и getText() выдаст нам - 22

Но с отображением html тегов на самом деле там 22 -> 2<sup>2</sup>

При передвижении курсора что бы получить его позицию мы используем editText.getSelectionStart()

Что соответствует правде если HTML не отображается.

Но если его отобразить эта позиция будет некорректна.

Как получить позицию курсора с учетом тегов.?

Или же как узнать что цифра находиться внутри тега <sup>?

Спасибо

Уже голову просто сломал себе

SOLUTION

Как получить позицию курсора с учетом тегов.

getExpression - просто отрезает тег <p>

int pos = editText.getSelectionStart();
String edit = editText.getText().toString();
String editHtml = getExpression(editText.getText());
int j = 0;
for(int i = 0; i < pos; i++, j++){
    if(edit.charAt(i) != editHtml.charAt(j)){
        while(edit.charAt(i) != editHtml.charAt(j)) {
            j++;
        }
    }
}
Log.d("ALERT", "EDT " + edit.charAt(pos));
Log.d("ALERT", "EDT " + editHtml.charAt(j));
Log.d("ALERT", "POS " + pos);
Log.d("ALERT", "POS " + j);
READ ALSO
Как сделать пробную (триал) версию с возможностью купить полную версию по истечению срока? [закрыт]

Как сделать пробную (триал) версию с возможностью купить полную версию по истечению срока? [закрыт]

Есть идея для приложения и хотелось бы сделать 30 дней пробную триал версию с возможностью купить полную версию по истечению срокаКак это...

169
найти css selector по тексту

найти css selector по тексту

Подскажите пожалуйста, как записать селектор для следующего элемента:

155
Как отправить значение enum на сервер?

Как отправить значение enum на сервер?

Команда состоит из 3 параметров: Integer id, time, channel (enum: abc/cba) param

345
Module &#39;Name&#39; is imported from Gradle

Module 'Name' is imported from Gradle

Хочу импортировать библиотеку jsoup, но при импорте пишет:

192