Android очень длинные тексты внутри элементов recyclerview, очень тормозят ⇐ Android
Android очень длинные тексты внутри элементов recyclerview, очень тормозят
Я хочу добиться быстрой прокрутки, потому что теперь, когда код достигает этого значения, она происходит очень медленно:
HolderOneElement.noteTitleText.setText(noteItem.getNoteTitle()); HolderOneElement.noteDetailsText.setText(noteItem.getNoteDetails()); Этот код находится внутри onBindViewHolder() recyclerview.
Дело в том, что у меня их много (около 30 элементов recyclerview, и они все еще растут), и эти две строки, особенно noteItem.getNoteDetails(), очень длинные, а ширина достигает даже более 60000, когда я проверяю ширину с помощью этого кода:
Границы прямоугольника = новый Rect(); Краска textPaint = HolderOneElement.noteDetailsText.getPaint(); textPaint.getTextBounds(noteItem.getNoteDetails(), 0, noteItem.getNoteDetails().length(), границы); int tvWidthWithText =bounds.width(); Моя идея состоит в том, чтобы показывать только столько текста noteItem.getNoteDetails(), сколько оно может поместиться в родительском представлении, с помощью noteItem.getNoteDetails().replace(start, end).
Стоит отметить, что эти два текстовых представления не обязательно должны отображать полные строки. Если строка длиннее родительского размера текстового представления, ее должно быть столько, сколько поместится.
Может тогда я не буду лагать...
Как мне этого добиться?
Я хочу добиться быстрой прокрутки, потому что теперь, когда код достигает этого значения, она происходит очень медленно:
HolderOneElement.noteTitleText.setText(noteItem.getNoteTitle()); HolderOneElement.noteDetailsText.setText(noteItem.getNoteDetails()); Этот код находится внутри onBindViewHolder() recyclerview.
Дело в том, что у меня их много (около 30 элементов recyclerview, и они все еще растут), и эти две строки, особенно noteItem.getNoteDetails(), очень длинные, а ширина достигает даже более 60000, когда я проверяю ширину с помощью этого кода:
Границы прямоугольника = новый Rect(); Краска textPaint = HolderOneElement.noteDetailsText.getPaint(); textPaint.getTextBounds(noteItem.getNoteDetails(), 0, noteItem.getNoteDetails().length(), границы); int tvWidthWithText =bounds.width(); Моя идея состоит в том, чтобы показывать только столько текста noteItem.getNoteDetails(), сколько оно может поместиться в родительском представлении, с помощью noteItem.getNoteDetails().replace(start, end).
Стоит отметить, что эти два текстовых представления не обязательно должны отображать полные строки. Если строка длиннее родительского размера текстового представления, ее должно быть столько, сколько поместится.
Может тогда я не буду лагать...
Как мне этого добиться?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение