【问题标题】:How to Set Locale In Android Application?如何在 Android 应用程序中设置语言环境?
【发布时间】:2016-10-12 09:56:49
【问题描述】:

我有三个活动 Login Activity 、 Complaint Activity 和 Customer Details Activity。

A) 登录活动:登录活动方向为纵向

B) 投诉活动:投诉活动方向为横向

C) 客户详细信息活动:客户详细信息活动方向为纵向

流程是 A => B => C

我在应用程序中使用英语和马拉地语两种语言。

一旦我为第一个活动(整个应用程序)选择了马拉地语。 即登录活动

前面的其他活动应遵循相同的语言环境。

但是当 B) 投诉活动 以横向模式启动时,它会更改为默认语言环境,即英语。并且应用程序会继续以英语语言运行。

即使活动改变了方向,我应该如何为整个应用设置选定的语言环境。

我的尝试

1) 添加

android:configChanges="locale|orientation|screenSize"

在每个活动的清单文件中

2) 在意图中传递语言并检索其他活动并设置语言环境

登录活动

  Intent i = new Intent(Login_Activity.this, Complaint_List_Activity_2.class);
            i.putExtra("lang",lang );// lang ="language Code"
            startActivity(complaint_list_activity_intent);
            finish();

投诉活动

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_compalint__list__activity_2);
        Intent pre_intent = getIntent();
        lang = pre_intent.getStringExtra("lang");
        Configuration config = new Configuration();
        config.locale = new Locale(lang);
        }

请解释一下,我应该在哪里编写代码来设置投诉活动中的区域设置以及如何

【问题讨论】:

  • 你应该使用updateConfiguration(),就像在this答案中一样。
  • 但是在投诉活动的 onCreate 或投诉活动的 onStart 中
  • 感谢@AndriyOmelchenko 的建议

标签: android android-intent locale


【解决方案1】:

在投诉活动的onCreate() 中,因为它应该更改一次。

【讨论】:

    猜你喜欢
    • 2014-04-19
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    相关资源
    最近更新 更多