Saya mengatur teks menggunakan setText () dengan cara berikut.
prodNameView.setText("" + name);
prodOriginalPriceView.setText("" + String.format(getString(R.string.string_product_rate_with_ruppe_sign), "" + new BigDecimal(price).setScale(2, RoundingMode.UP)));
Dalam yang pertama adalah penggunaan sederhana dan yang kedua adalah pengaturan teks dengan format teks.
Android Studio sangat menarik, saya menggunakan Menu Analyze -> Code Cleanup
dan saya mendapat saran di atas dua baris seperti.
Jangan menyatukan teks yang ditampilkan dengan setText. Gunakan string sumber daya dengan placeholder. kurang ... (Ctrl + F1)
Saat memanggil TextView # setText:
- Jangan pernah panggil Nomor # toString () untuk memformat angka; itu tidak akan menangani pemisah fraksi dan angka spesifik lokal dengan benar. Pertimbangkan untuk menggunakan format String # dengan spesifikasi format yang tepat (% d atau% f).
- Jangan melewatkan string literal (mis. "Hello") untuk menampilkan teks. Teks yang dikode keras tidak dapat diterjemahkan dengan benar ke bahasa lain. Pertimbangkan menggunakan string sumber daya Android sebagai gantinya.
- Jangan membuat pesan dengan menggabungkan potongan teks. Pesan semacam itu tidak dapat diterjemahkan dengan benar.
Apa yang bisa saya lakukan untuk ini? Adakah yang bisa membantu menjelaskan benda apa itu dan apa yang harus saya lakukan?
NPE
jika name
adalahNULL
name
tidak NULL
sebelum menggunakan setText()
fungsi.
<string name="string_product_rate_with_ruppe_sign">Something %1$d</string>
Dan dalam kode java Anda, Anda melakukan sesuatu seperti ini: prodOriginalPriceView.setText(getString(R.string.string_product_rate_with_ruppe_sign), price);
(Anda dapat melakukan format pada file xml: [ developer.android.com/guide/topics/resources/…
String
menjadisetText()
. Contoh:setText(name)
sebagai penggantisetText("" + name)
. Karena jika Anda menggabungkan teks, itu tidak akan diterjemahkan seperti Anda menggunakan teks Hardcoded sebagai pesan memberitahukan