tôi ban đầu được gọi String.format
theo cách này:Tại sao Android Lint cảnh báo về String.format bằng ngôn ngữ mặc định khi sử dụng Locale.US một cách rõ ràng?
return String.format("%s %f %f", anotherString, doubleA, doubleB);
Mà làm cho Android Lint tạo ra cảnh báo này:
Mặc nhiên sử dụng ngôn ngữ mặc định là một nguồn phổ biến của lỗi: Sử dụng String.format (Locale,. ..) thay vì
Vì vậy, tôi đã thay đổi nó để sử dụng Locale.US
một cách rõ ràng, dựa trên những gì tôi đọc ở http://developer.android.com/reference/java/util/Locale.html dưới "Hãy cảnh giác với ngôn ngữ mặc định" phần:
return String.format(Locale.US, "%s %f %f", anotherString, doubleA, doubleB);
Tại sao Android Lint vẫn tạo ra cảnh báo tương tự? Tôi phải làm sạch dự án trong Eclipse để loại bỏ nó, khi hầu hết các cảnh báo chỉ biến mất ngay sau khi dòng vi phạm được sửa. Tôi không chắc mình có làm gì sai hay không.
Cảnh báo Lint không phải là lỗi chút nào. Nó chỉ cố gắng cho bạn biết về hiệu suất, bản dịch và vấn đề tương tự. Tôi cũng nhận được cảnh báo này trong các ứng dụng mà tôi muốn nhắm mục tiêu chỉ trên ngôn ngữ nhất định nhưng, bạn luôn có thể vô hiệu hóa lint bằng cách vào Window> Preferences> Android> Lint Error Checking. Tôi tin rằng trong tình huống tồi tệ nhất có thể có thiết bị mà không có Locale.US có sẵn ở tất cả và do đó nó có thể gây ra một số vấn đề. Tôi đã không phải đối mặt với bất kỳ như vậy cho đến bây giờ mặc dù. – Milan