2015-07-14 30 views
5

Làm cách nào tôi có thể sử dụng một số số nguyên mà tôi đã lưu trữ trong tệp integers.xml trong tệp strings.xml của mình.Làm thế nào để sử dụng tài nguyên số nguyên trong tài nguyên chuỗi trong android

Ví dụ:

Tôi có <integer name="some_integer">5</integer> và tôi muốn sử dụng này trong file strings.xml tôi:

<string name="some_string">This is my string num @integers/some_integer in a row</string>

Rõ ràng con đường của tôi là không đủ vì vậy tôi cần tốt một chút giúp đỡ xin vui lòng. Tôi tin rằng có một giải pháp có thể tôi chỉ không biết đúng.

Đánh giá cao tất cả sự trợ giúp!

Trả lời

7

phiên bản ngắn là bạn không thể kết hợp các nguồn lực như thế này, nhưng bạn có thể sử dụng trong Java:

getResources.getString(R.string.some_string, 
         getResources.getInteger(R.integer.some_integer) 
        ); 

và sau đó trong chuỗi của bạn XML

<string name="some_string">This is my string num %d in a row</string> 

rằng cách thức %d được thay thế bởi số nguyên bạn vượt qua trong các số getString

+0

PS .: tôi đã viết bài này bằng trái tim , có thể có một số lỗi đánh máy. – Budius

+2

Chúc tôi có thể chấp nhận cả hai câu trả lời của bạn. Những gì nó thực sự làm việc ra là ' Văn bản ở đây num% 1 $ d và num% 2 $ d và getString của bạn (R.string.my_name), getResources(). GetInteger (R.integer. num1), getResources(). getInteger (R.integer.num2)); ' – slorangex

2

Các số khác cho biết cách tiếp cận của bạn không hoạt động. Đây là một câu trả lời cũ phải đối mặt với vấn đề tương tự:

<string name="meatShootingMessage">You shot %1$d pounds of meat!</string> 

int numPoundsMeat = 123; 
String strMeatFormat = getResources().getString(R.string.meatShootingMessage); 
String strMeatMsg = String.format(strMeatFormat, numPoundsMeat); 

Xem tài liệu tham khảo này:

+0

Kết hợp câu trả lời của tôi với @Budius –

Các vấn đề liên quan