TextViewに取り消し線を設定するために、以下の行を使用しています。
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
ただし、後でフラグメントでTextViewを再度クリックすると、取り消し線が削除されます。 TextViewにテキストを通常の形式で再度表示させるために、どのコード行を使用できますか?
前もって感謝します!
私は結局これをオンラインで見つけました:
tv.setPaintFlags(tv.getPaintFlags() & (~ Paint.STRIKE_THRU_TEXT_FLAG));
これにより、取り消し線が正常に削除されます。したがって、データベースでチェックを実行した後、OnListItemClick
メソッドでこれを呼び出し、アイテムが既に取り消し線になっている(私の場合は購入済み)かどうかを確認しました。
別の方法は、単にsetPaintFlags
の値をゼロに設定することです。
tv.setPaintFlags(0)
注:これにより、テキストの取り消し線が削除されます。
OnClickListener
にTextView
を設定し、Paintフラグをリセットし、そのinvalidate()
を呼び出して、自分自身を再描画できます。
AntiAliasを設定することで、テキストの歪みを軽減することができました
コトリン
tv.paintFlags = Paint.ANTI_ALIAS_FLAG