Trong < chuỗi mảng name = "phiên bản"> Tôi có con thú này một mục (luộc xuống đến mức tối thiểu hợp lý để tái tạo các hiệu ứng):thoát nhiều “%” nhân vật trong Android
<item>100% foo 40%bar</item>
mà sản xuất các lỗi này:
Multiple annotations found at this line:
- error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
- error: Found tag </item> where </string-array> is expected
Thêm định dạng = "sai" không thay đổi gì.
<item>100% foo 40%bar</item>
dẫn đến các thông báo lỗi tương tự. WTH?
<item>100% foo 40bar</item>
<item>100 foo 40%bar</item>
<item>100% foo 40%</item>
tất cả sẽ hoạt động tốt. Thoát nó bằng \% chỉ bị bỏ qua dẫn đến lỗi tương tự. %% không dẫn đến lỗi nhưng tôi nhận %%.
http://stackoverflow.com/questions/4414389/android-xml-percent-symbol/4417333#4417333, hầu hết những gì bạn nói sẽ không hoạt động nhưng hãy xem tùy chọn cuối cùng. –
Thanx cho câu trả lời. Thật không may tôi không phải đối phó với một chuỗi mà có thể cho phép thay thế ở tất cả trừ khi có một cách để làm thay thế trong mảng. Trong mảng arrays.xml của tôi có một mảng chuỗi với các mục. Tôi tải thông qua getResources(). GetStringArray (R.array.versions); – Giszmo
ouch, getStringArray sử dụng trình định dạng và chưa cho phép bạn chuyển đối số định dạng. Tôi sợ rằng bạn sẽ phải tạo lại mảng sau khi bạn tải nó, thay thế bằng%, hoặc sửa các chuỗi khi bạn sử dụng chúng. –