Trong ứng dụng Android của tôi tôi thực hiện một bánh mì nướng đơn giảnchars đặc biệt là thay thế bằng một hình vuông trong android ứng dụng
Toast.makeText(
parent.getApplicationContext(),
parent.getResources().getIdentifier(result, "string",
parent.getPackageName()), Toast.LENGTH_LONG).show();
này
parent.getResources().getIdentifier(result, "string", parent.getPackageName())
lấy một chuỗi có phù hợp với tên là kết quả của strings.xml
. Tôi có một tệp strings.xml cho ngôn ngữ tiếng Anh và tiếng Đức. Vấn đề là các ký tự đặc biệt trong tiếng Đức như Ü Ö Ä không được hiển thị chính xác. Chúng được thay thế bằng một biểu tượng hình vuông.
Chuỗi strings.xml được mã hóa utf-8.
Sự cố xảy ra ở đâu và làm cách nào để khắc phục sự cố?
Đừng sử dụng 'getApplicationContext()' trừ khi bạn biết ** chính xác * tại sao * bạn cần nó **. Trong trường hợp này, bạn chắc chắn không cần nó. Vui lòng sử dụng 'parent', không phải' parent.getApplicationContext() '. Tôi nghi ngờ rằng sẽ giải quyết vấn đề của bạn, nhưng tôi chắc chắn sẽ bắt đầu ở đó, vì việc lạm dụng 'Application' gây ra hành vi UI lạ. – CommonsWare
Bánh mì nướng được thực hiện trong một lớp kéo dài AsyncTask và không hoạt động. Vì vậy, cha mẹ là hoạt động tạo ra nhiệm vụ ... –
Điều đó vẫn có nghĩa là bạn nên sử dụng 'parent', không phải' parent.getApplicationContext() '. – CommonsWare