myアプリケーションは1つのアクティビティでTextViewを表示し、色、サイズ、太字、斜体、下線などテキストのプロパティを編集する別のアクティビティに進みます。ユーザーがテキストを太字、斜体、または太字にすることを選択すると、それは機能します。ユーザーがチェックボックスの選択を解除すると、TextViewは正常に戻りません。スタイル間を移動することができます(太字でチェックし、太字でチェックを外して太字ではなくイタリックにすると太字ではなくイタリックになります)が、通常のタイプフェイスを持つことはできません。私が検索したところ、Typeface.NORMALでsetTypefaceメソッドを使用すると動作するはずだが、そうではないことがわかった。私はこれを解決するためにいくつかの助けに感謝します。関連するコードは以下の通りです。ありがとうございました!Android:Textviewをアンボールド/イタリック体にすることはできません
TextView mDisplayMessage = (TextView) findViewById(R.id.message);
mDisplayMessage.setTypeface(mDisplayMessage.getTypeface(), Typeface.NORMAL);
//TODO: Cannot return all the way back to normal. Remains bold/italic/bold_italic
if (mIsBold && mIsItalic) mDisplayMessage.setTypeface(mDisplayMessage.getTypeface(), Typeface.BOLD_ITALIC);
else if (mIsBold) mDisplayMessage.setTypeface(mDisplayMessage.getTypeface(), Typeface.BOLD);
else if (mIsItalic) mDisplayMessage.setTypeface(mDisplayMessage.getTypeface(), Typeface.ITALIC);
else mDisplayMessage.setTypeface(mDisplayMessage.getTypeface(), Typeface.NORMAL);
if (mIsUnderlined) {
mDisplayMessage.setPaintFlags(mDisplayMessage.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
} else {
mDisplayMessage.setPaintFlags(0);
}
mDisplayMessage.setTypeface(Typeface.NORMAL); コンパイルエラーが発生しましたが、 mDisplayMessage.setTypeface(Typeface.DEFAULT); が機能しました。どうもありがとうございました! – Roc47HS
更新されたコードを確認する – user2025187