如何更改 Android O / Oreo / api 26 应用程序语言

2024-04-07

我想更改应用程序的语言,并且在 API 26 之前都可以正常工作。

对于 api > 25 我把Locale.setDefault(Locale.Category.DISPLAY, mynewlanglocale); before setContentView(R.layout.activity_main);但没有任何改变。

The docs https://developer.android.com/reference/java/util/Locale.html#setDefault(java.util.Locale.Category,%20java.util.Locale)对此不必过多解释。


我遇到了同样的问题:自从 Android 8.0+ 以来,我的应用程序的某些部分不再更改其语言。更新应用程序和活动上下文对我有帮助。这是 MainActivity 函数的示例:

private void setApplicationLanguage(String newLanguage) {
    Resources activityRes = getResources();
    Configuration activityConf = activityRes.getConfiguration();
    Locale newLocale = new Locale(newLanguage);
    activityConf.setLocale(newLocale);
    activityRes.updateConfiguration(activityConf, activityRes.getDisplayMetrics());

    Resources applicationRes = getApplicationContext().getResources();
    Configuration applicationConf = applicationRes.getConfiguration();
    applicationConf.setLocale(newLocale);
    applicationRes.updateConfiguration(applicationConf, 
    applicationRes.getDisplayMetrics());
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改 Android O / Oreo / api 26 应用程序语言 的相关文章

随机推荐

  • 由于地址已在使用错误,Activemq 无法运行

    如何解决错误 Java Runtime Oracle Corporation 1 7 0 05 E Program Files Java jdk1 7 0 05 jre Heap sizes current 1004928k free 99
  • 从文本字符串创建单词数组

    我想使用 PHP 将文本拆分为单个单词 您知道如何实现这一目标吗 我的做法 function tokenizer text text trim strtolower text punctuation a z0 9 result preg s
  • POSIX 标准对 atexit() 处理程序中的线程堆栈有何规定?操作系统的做法是什么?

    当我们的 UNIX C 程序需要紧急退出时 我们使用 exit 3 函数并安装 atexit 3 处理程序来进行紧急清理 这种方法工作得很好 直到我们的应用程序被线程化 此时 atexit 处理程序停止正常工作 我们通过试验了解到一个错误
  • 打印表达式并对其求值的宏(使用 __STRING)

    为了学习和演示 我需要一个打印其参数的宏and对其进行评价 我怀疑这是一个非常常见的案例 甚至可能是一个常见问题解答 但我找不到实际的参考资料 我当前的代码是 define PRINT expr fprintf stdout s gt d
  • 初始化成员变量

    我已经开始采用这种模式 template
  • 如何在 iphone safari 中检测照片/视频是从相机拍摄还是从相机胶卷导入

    在我的网站上我有一个file input标签上传照片 视频 当在 mobile safari 中打开网站并单击文件输入时 会打开一个包含 3 个选项的操作表take photo or Video choose Existing and ca
  • 正则表达式匹配日月和年

    我尝试了一些 Windows 日期格式 该格式依赖于区域设置 因此 为了匹配日 月和年 我开始使用正则表达式 我有一些非常基本的经验 我在Python中使用了正则表达式 我的日期格式是dd mm yyyy hh mm ss 为了匹配日 月和
  • HttpWebRequest 在授权标头中发送无参数 URI

    我正在从 NET 连接到 Web 服务 例如 var request HttpWebRequest WebRequest Create uri request Credentials new NetworkCredential usr pw
  • GXT 2.2 - 消息框按钮常量

    这是一个关于如何检测在 MessageBox Dialog 中单击了哪个按钮的问题 仅限 GX T 2 1 或 2 2 请不要使用 GXT 3 接听 理想情况下 这就是我进行确认对话框的方式 final MessageBox box Mes
  • Android KitKat HttpURLConnection 断开 AsyncTask

    在我的应用程序中 我使用下载文件HttpURL连接 http developer android com reference java net HttpURLConnection html in an 异步任务 http developer
  • 是否可以从 Django 请求检测浏览器刷新?

    是否可以在 Django 请求中检测用户的浏览器刷新 就其本身而言 我相信没有办法仅通过查看请求对象来知道页面是否已刷新 客户可以轻松打开该页面的第二个版本 您还必须保留有关所有请求的一些状态数据 以便比较时间戳等内容 但这只是对实际发生情
  • ASP.NET 2.0 会话超时

    已经有人在本论坛中提出了有关会话超时的问题 如果有人能再次澄清这一点 我将不胜感激 我有一个 asp net 2 0 应用程序 如果用户没有执行任何活动并按下页面上的按钮 他被重定向到 sessionExpired aspx 页面 那么 1
  • Windows XP 中的 inet_pton 或 InetPton 等价物是什么?

    我需要确定特定字符串是否是有效的 IPv4 或 IPv6 地址文字 如果我理解正确的话 在 POSIX 系统上执行此操作的正确方法是使用inet pton将其转换为网络地址结构 看看是否成功 Windows Vista 及更高版本有Inet
  • 在 Qt Creator 中推广小部件

    Qt 创建者可以选择将一个小部件提升为从基本小部件派生的自定义创建的类 我想使用它来将小部件提升为当前项目中的类 Qt 创建者询问我有关类名和头文件名的信息 这些值直接转到 ui文件 然后到ui myform h 问题是该文件可能 通常是
  • 正则表达式:如何匹配没有任何字符重复 3 次的字符串?

    我正在尝试创建一个单一的模式来验证输入字符串 验证规则不允许任何字符连续重复超过 3 次 例如 Aabcddee 已验证 Aabcddde is not有效 因为 3d人物 目标是提供一个可以匹配上述示例之一的正则表达式模式 但不能同时匹配
  • WPF 调度程序的 InvokeAsync 和 BeginInvoke 有什么区别

    我注意到在 NET 4 5 中WPF 调度程序 http msdn microsoft com en us library ms615907 aspx已经获得了一组新的方法来在调度程序的线程上执行东西 称为异步调用 http msdn mi
  • 动态启动和关闭 KafkaListener 只是为了在会话开始时加载以前的消息

    我有一个让 kafkalistener 从头开始 读取消息的工作代码 offset 0 一个主题 始终运行 对于我的用例 消息传递 我需要两件事 始终捕获特定主题 分区的新消息 该消费者始终在运行 并发送到前端 websocket stom
  • 使用 Go 处理水印图像

    我想找一些关于制作水印图像的例子 用Go语言写的 我需要一个 PNG 图像作为水印图像 可以应用于其他格式 PNG GIF JPEG 等 我希望你能给我一些实际的例子 正如已经提到的 您可以使用 image draw 包为图像添加水印 这是
  • 圆圈内的文本 UILabel Swift 3

    我知道这个问题在 SO 中被问了很多次 但我在 Swift 中找不到可靠的答案 甚至一般来说也找不到一个好的答案 我知道这对于 UITextField 是可能的 但 UILabel 是我想使用的 我问是否有人遇到过 UILabel 的扩展
  • 如何更改 Android O / Oreo / api 26 应用程序语言

    我想更改应用程序的语言 并且在 API 26 之前都可以正常工作 对于 api gt 25 我把Locale setDefault Locale Category DISPLAY mynewlanglocale before setCont