Tôi có một vài chuỗi mà tôi cần dịch và hiển thị. Các chuỗi đó là các biến. Tôi có bản dịch trong tệp strings.xml.Truy cập nội dung của R.string sử dụng biến để đại diện cho tên tài nguyên
Tôi muốn hiển thị "phiên bản đã dịch" của chuỗi. Ví dụ, bên trong một Hoạt động:
String name = "Water";
TextView nameDisplay = new TextView(this).
nameDisplay.setText(name);
Trong chuỗi nộp Tôi có nghĩa
<string name="Water">French word for Water</string>
Nếu tôi sử dụng một cái gì đó như thế này:
nameDisplay.setText(R.string.KnownName);
nó sẽ làm việc. Nhưng trong trường hợp của tôi, tên được lưu trữ trong một biến vì vậy tôi không biết phải làm gì để cho phương thức setText hoạt động đúng.
workaround hiện tại của tôi là
String translation = ""
if(name == "Water") {
translation = getString(R.string.Water);
}
else {
...
}
nameDisplay.setText(translation);
... nhưng điều này không quy mô rất tốt.
Mọi đề xuất?
Tôi có nên lưu trữ phiên bản đã dịch trong biến không?
Xin chào. Cám ơn bạn đã góp ý. Nó hoạt động. Cũng nhờ cảnh báo về khả năng mất hiệu suất. – MyNameIsZero