1

私のカスタムビューの子をオンメジャーで変更する方法はありますか(またはonlayout、ondraw、実際にどこに置くべきかわかりません:)

LinearLayout から継承されたカスタム レイアウトに含まれるテキストビューを縮小し、それに onclicklistener を追加する必要があるこのコードがあります。問題は、これがまったく機能しないことです。コードは実行されますが、明らかな効果はありません。また、基本的にツリー内のすべてのビューで無効化を呼び出そうとしました:)

cardContent は、オーバーライドされた LinearLayout に関連付けられた TextView です。私はどういうわけかこれが間違っていると感じているので、助けてください。Android でカスタム レイアウトを作成する方法についてはよくわかりません。ありがとうございます。

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    if(cardContent.getLineCount() > 10){
        this.setOnClickListener(this);
        expandIcon.setVisibility(VISIBLE);
        cardContent.setMaxLines(6);

        expanded = false;
    }
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);


}
4

1 に答える 1

1

super.onMeasure(widthMeasureSpec, heightMeasureSpec)に電話する前に 電話する必要がありますTextView.getLineCount()。それ以外の場合は、常に 0 を返します。

于 2013-08-26T23:24:24.887 に答える