[解決済み] Android TextView : "setTextで表示されたテキストを連結しない" とのことです。
2022-02-17 09:56:29
質問
を使ってテキストを設定しています。 setText() を以下の方法で実行します。
prodNameView.setText("" + name);
prodOriginalPriceView.setText("" + String.format(getString(R.string.string_product_rate_with_ruppe_sign), "" + new BigDecimal(price).setScale(2, RoundingMode.UP)));
その中で 最初に はシンプルな使い方で 第二 は、テキストに書式を設定するものです。
Android Studioはとても面白いので、メニュー
Analyze -> Code Cleanup
で、上の2行のように提案されました。
setTextで表示したテキストを連結しないでください。リソース文字列 プレースホルダーを使用する。(Ctrl+F1)
を呼び出す場合 TextView#setTextです。
- Number#toString() を数値の書式設定に使用しないでください。考慮すべきこと String#formatを使用して、適切な書式指定(%dまたは%f)をしてください。 代わりに
- テキスト表示に文字列リテラル(例:"Hello")を渡さないでください。ハードコードされたテキストは、他の言語に適切に翻訳されません。 代わりにAndroidのリソース文字列を使用することを検討してください。
- テキストチャンクを連結してメッセージを作成しないでください。そのようなメッセージは適切に翻訳されません。
これはどうしたらいいのでしょうか?どなたか、この物が何なのか、どうすればいいのか、説明してください。
解決方法は?
リソースはgetStringのオーバーロードバージョンで
varargs
タイプの
Object
:
getString(int, java.lang.Object...)です。
. strings.xmlで文字列を正しく設定し、正しいプレースホルダーを使用すれば、このバージョンを使って最終的な文字列のフォーマットされたバージョンを取得することができます。例えば、以下のようになります。
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
を使って
getString(R.string.welcome_message, "Test", 0);
を持つ文字列を返します。
"Hello Test! you have 0 new messages"
について
setText("" + name);
最初の例
prodNameView.setText("" + name);
は、私には何の意味もありません。TextViewはNULL値を扱うことができます。nameがNULLの場合、テキストは描画されません。
関連
-
[解決済み】Android - SDKバージョン23のアップデート後、ACTION-VIEWインテントフィルタを持つアクティビティを少なくとも1つ追加する。
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
[解決済み] TextViewでテキストを水平・垂直方向にセンタリングするには?
-
[解決済み] TextViewの文字色をコードで設定する方法は?
-
[解決済み] Androidのテキストビューの周りにボーダーを付けるには?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] AndroidでTextViewをスクロール可能にする
-
[解決済み] AndroidのTextViewで、フォントスタイルを太字、斜体、下線に設定するにはどうしたらいいですか?
-
[解決済み] Android TextView テキストの両端揃え
-
[解決済み】AndroidでTextViewのfontFamilyを変更する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android TextView : "setTextで表示されたテキストを連結しない" について
-
[解決済み】リストビューにonclicklistenerを追加する(android)
-
[解決済み】起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりませんでした
-
[解決済み】android.content.ActivityNotFoundException: 明示的なアクティビティクラスを見つけることができません。
-
[解決済み】sendUserActionEvent()がnullである。
-
[解決済み】'dependencies' を '(groovy.lang.Closure)' に適用できない。)
-
[解決済み] エラー - Android リソースのリンクに失敗しました (AAPT2 27.0.3 Daemon #0)
-
[解決済み] sendUserActionEvent() は null です。
-
[解決済み] Android SDK の場所には空白を含めないでください。NDK ツールで問題が発生するためです。
-
[解決済み] strings.xmlに実行時の値をプレースホルダーとして持たせることは可能ですか?