ฉันตั้งค่าข้อความโดยใช้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
และฉันได้รับคำแนะนำจากสองบรรทัดข้างต้นเช่น
อย่าเชื่อมต่อข้อความที่แสดงด้วย setText ใช้สตริงทรัพยากรกับตัวยึดตำแหน่ง น้อยกว่า ... (Ctrl + F1)
เมื่อเรียกTextView # setText:
- อย่าโทรไปที่ Number # toString () เพื่อจัดรูปแบบตัวเลข มันจะไม่จัดการตัวคั่นเศษส่วนและตัวเลขเฉพาะสถานที่อย่างถูกต้อง พิจารณาใช้รูปแบบ String # ที่มีข้อกำหนดรูปแบบที่เหมาะสม (% d หรือ% f) แทน
- อย่าส่งผ่านสตริงลิเทอรัล (เช่น "สวัสดี") เพื่อแสดงข้อความ ข้อความฮาร์ดโค้ดไม่สามารถแปลเป็นภาษาอื่นได้อย่างถูกต้อง ลองใช้สตริงทรัพยากรของ Android แทน
- อย่าสร้างข้อความด้วยการต่อส่วนข้อความ ข้อความดังกล่าวไม่สามารถแปลได้อย่างถูกต้อง
ฉันทำอะไรได้บ้าง? ใครก็ได้ช่วยอธิบายว่าของคืออะไรและควรทำอย่างไร?
String
เข้าไปsetText()
เท่านั้น เช่นsetText(name)
แทนsetText("" + name)
. เพราะถ้าคุณเชื่อมข้อความเข้าด้วยกันมันจะไม่ถูกแปลเหมือนคุณใช้ Hardcoded text ตามที่ข้อความแจ้ง