Ich versuche, die Anzahl der Zeilen eines TextView
in einem RecyclerView-Adapter zu zählen.Get TextView Zeilenanzahl im RecyclerView Adapter?
Nach answers from other questions (wenn auch nicht in RecyclerViews verwandt), habe ich versucht, diese zu meinen onBindViewHolder
Methode:
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
Message message = messages.get(position);
holder.textView.setText(message.getMessage());
holder.textView.setVisibility(View.VISIBLE);
// Get the number of lines
holder.textView.post(new Runnable() {
@Override
public void run() {
int lineCount = holder.textView.getLineCount();
Log.d("COUNT", String.valueOf(lineCount));
}
});
}
Aber wenn ich meine App öffnen, wird die erste RecyclerView Artikel zunächst COUNT 0
zeigen (auch wenn es hat 5 Zeilen). Wenn ich jedoch ein paar Elemente nach unten scrolle und dann zurück zum ersten Element blättere, wird die korrekte Anzahl von Zeilen angezeigt (COUNT 5
).
Also, was mache ich falsch?
Check http://stackoverflow.com/a/12107005/4148757 –
@bhaskarkurzekar Wie funktioniert diese Lösung Leistung in einem RecyclerView beeinflussen? – user7858218