textview.getLineCount always 0 in android

I'm trying to dynamically resize my textview but getlinecount() method always returns me 0 even after settext() and invalidate(). I'm using the following code:

if (convertView == null) {
    convertView = lInflater.inflate(R.layout.listview, null);
    holder = new ViewHolder();
    holder.text2 = (TextView)convertView.findViewById(R.id.TextView02);
    convertView.setTag(holder);
} else {
    holder = (ViewHolder)convertView.getTag();
}

holder.text2.setText(arr2[position]);
holder.text2.invalidate();

int lineCnt = holder.text2.getLineCount();

holder is a static class as follows:

static class ViewHolder {
    TextView text2;
}

holder contains non null text2 and the content set is also non null.

Can anybody please help?

Thanx in advance.

32
задан Baptiste Candellier 6 May 2019 в 14:59
поделиться

1 ответ

getLineCount() выдаст вам правильное количество строк только после прохода компоновки. Это означает, что TextView должен быть отрисован хотя бы один раз. Я предполагаю, что в данный момент времени ваш TextView не отрисован, поэтому вы получаете 0 в качестве количества строк

7
ответ дан 27 November 2019 в 19:44
поделиться
Другие вопросы по тегам:

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