使用 updateConfiguration Kotlin 更改语言 Android

Changing language with updateConfiguration Kotlin Android

我编写了一个简单的应用程序,让您可以更改语言并查看该语言的文本,但是我使用了以下代码:

    private fun changeLanguage(language: String) {
        Log.i("SettingsFragment", "2. " + binding.languageButton.text.toString())
        if(language != binding.languageButton.text.toString()){
            val local = Locale(language)
            val dm =  resources.displayMetrics
            val con = resources.configuration
            con.locale = local
            resources.updateConfiguration(con, dm)
            val refresh = Intent(
                    requireContext(),
                    MainActivity::class.java
            )
            refresh.putExtra(binding.languageButton.text.toString(), language)
            startActivity(refresh)
        }
    }

它确实有效,但在构建时显示:

我一直在想,是否值得更新该代码以符合当前标准(我应该使用什么来做到这一点)?它会因为不再受支持而在一段时间后中断吗?

一般来说你做得对,但从 android 版本开始它非常可靠。我建议您使用其中一种语言更改库。 我正在使用这个库,它工作正常。

https://github.com/akexorcist/Localization