Trong ứng dụng android của tôi, tôi có hoạt động tùy chọn cho phép người dùng ghi đè ngôn ngữ của ứng dụng. Để đạt được điều này, tôi gọi hàm này trong onResume của mọi hoạt động() và sau đó đặt lại chế độ xem nội dung:Ngôn ngữ cập nhật Android trong hoạt động ưu tiên
Trong mọi hoạt động, nó hoạt động hoàn toàn tốt. Tuy nhiên, trong hoạt động ưu tiên, khi người dùng thay đổi ngôn ngữ, nó không được cập nhật ngay lập tức, bởi vì không có phương thức setContentView(). Người dùng phải quay lại hoạt động trước đó và bắt đầu lại hoạt động tùy chọn để xem thay đổi ngôn ngữ được phản ánh.
Tôi đã thử các sau đây trong một onPreferenceChange() nghe:
Cập nhật cấu hình, loại bỏ và readding các ưu đãi:
checkOverrideSystemLanguage(this); // Remove all preferences and add them to update the language getPreferenceScreen().removeAll(); addPreferencesFromResource(R.xml.preferences);
Cập nhật cấu hình và gọi onCreate (null)
Hoàn tất và khởi động lại hoạt động
finish(); startActivity(new Intent(this, PreferencesActivity.class));
Cảm ơn sự giúp đỡ của bạn!
Bạn có thể sử dụng một chút hack và gọi getActionBar(). SetTitle ("tiêu đề của bạn") bằng một số phương pháp bạn gọi lúc đầu –