Мы используем ExpandableList TableViews для отображения блока текста с номерами строк на одной стороне. Во-первых, строка для данного абзаца устанавливается в текстовом представлении в правом столбце TableView. Затем из строки абзаца и номера начальной строки генерируется строка номера строки. Например, из строки (с начальным номером строки 1):
Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
Donec ultricies a nunc sit amet venenatis.
Aenean placerat dictum nunc,
nec pulvinar arcu consequat a.
Proin dignissim velit ut augue dictum ultricies.
Fusce lorem dolor, elementum id tempor at,
pellentesque eu dolor. Vestibulum rhoncus
arcu in sapien sagittis gravida.
Nullam vel nisl enim.
Maecenas scelerisque at quam non congue.
Nullam quis porttitor purus, nec interdum tellus.
генерируется следующая строка номера строки:
\n\n\n\n5.\n\n\n\n\n10.\n\n
Затем эта строка помещается в крайний левый столбец TableView, чтобы отображать номер строки строки каждые пять строк.
Однако возникает проблема, когда размер текста увеличивается до точки, при которой строки текста переносятся (поскольку строка слишком велика, чтобы поместиться на экране). Когда это происходит, кажется, что необходимо вставить еще один \n в строку номера строки в месте переноса текста, чтобы считать потенциально несколько строк переносимого текста одной строкой. Таким образом, есть ли возможность для Android определить, была ли строка обернута в TextView, чтобы программа могла знать, как вставить \n в строку номера строки и компенсировать разрывы строк?