Je mets du texte en utilisant setText () de la manière suivante.
prodNameView.setText("" + name);
prodOriginalPriceView.setText("" + String.format(getString(R.string.string_product_rate_with_ruppe_sign), "" + new BigDecimal(price).setScale(2, RoundingMode.UP)));
Dans ce premier est une utilisation simple et le deuxième est la mise en forme du texte avec le texte de mise en forme.
Android Studio est tellement intéressant, j'ai utilisé Menu Analyze -> Code Cleanup
et j'ai reçu des suggestions sur deux lignes comme.
Ne concaténez pas le texte affiché avec setText. Utilisez une chaîne de ressource avec des espaces réservés. moins ... (Ctrl + F1)
Lors de l'appel de TextView # setText:
- N'appelez jamais Number # toString () pour formater les nombres; il ne gérera pas correctement les séparateurs de fractions et les chiffres spécifiques aux paramètres régionaux. Pensez à utiliser le format String # avec des spécifications de format appropriées (% d ou% f) à la place.
- Ne transmettez pas de chaîne littérale (par exemple "Hello") pour afficher le texte. Le texte codé en dur ne peut pas être correctement traduit dans d'autres langues. Envisagez plutôt d'utiliser des chaînes de ressources Android.
- Ne créez pas de messages en concaténant des blocs de texte. Ces messages ne peuvent pas être correctement traduits.
Que puis-je faire pour cela? N'importe qui peut aider à expliquer ce qu'est la chose et que dois-je faire?
NPE
si name
c'estNULL
name
n'est pas NULL
avant d'utiliser la setText()
fonction.
<string name="string_product_rate_with_ruppe_sign">Something %1$d</string>
Et dans votre code java, vous faites quelque chose comme ceci: prodOriginalPriceView.setText(getString(R.string.string_product_rate_with_ruppe_sign), price);
(vous pouvez faire le formatage dans le fichier xml: [ developer.android.com/guide/topics/resources/…
String
danssetText()
. Ex:setText(name)
au lieu desetText("" + name)
. Parce que si vous concaténez du texte, il ne sera pas traduit comme vous utilisez le texte codé en dur comme notification de message