以上の行がある場合、mTxtText
いくつかのビューを表示する必要があります。maxLinesCount
私はこれらの質問をチェックしました:1番目と2番目
私のgetView
方法の結果として私が持っているもの:
mTxtText.setText(Html.fromHtml(output));
mTxtText.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener() {
@SuppressWarnings("deprecation")
@Override
public void onGlobalLayout() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
mTxtText.getViewTreeObserver()
.removeGlobalOnLayoutListener(this);
} else {
mTxtText.getViewTreeObserver()
.removeOnGlobalLayoutListener(this);
}
if (isCollapseOn
&& mTxtText.getLineCount() >= maxLinesCount) {
mTxtExpand.setVisibility(View.VISIBLE);
} else {
mTxtExpand.setVisibility(View.GONE);
}
}
});
しかし、非常に興味深い結果が得られました。このリスナーは、アダプター内の一部のアイテムに対してのみ呼び出され、他のアイテムの可視性mTxtExpand
はランダムに設定されます。リストをスクロールすると、リスナーが呼び出されたアイテムでも間違ったビューが表示されます。
助けてくれてありがとう。