首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Android应用程序中将区域设置更改为阿拉伯语时出现问题

在Android应用程序中将区域设置更改为阿拉伯语时出现问题
EN

Stack Overflow用户
提问于 2018-09-24 17:02:31
回答 1查看 993关注 0票数 1

我的Android应用程序支持两种语言:阿拉伯语和英语。阿拉伯语是默认语言。

现在,为了将阿拉伯语设置为默认语言,我在Splash Screen中将应用程序的区域设置更改为阿拉伯语。我还维护了英语和阿拉伯语的字符串文件,以便进行区域设置更改。但是,当我点击其他一些随机片段时(例如,导航菜单项),我的应用程序静态字符串将更改回英语区域设置。

我认为这是因为我的应用程序默认区域设置可能已更改为英语。这个问题是随机生成的,没有记录任何特定的场景。

你能提出什么解决方案吗?

编辑:我正在使用共享首选项来保存语言。

EN

回答 1

Stack Overflow用户

发布于 2018-09-24 17:49:17

第一步,将语言保存在sqlite中(例如:保存在sqlite表设置中的语言):

代码语言:javascript
运行
复制
mDatabase = new SqliteItemDatabase(getApplicationContext());

        final List<Setting> allsettings = mDatabase.listSettings();
       String the_lang = "";
       if(position == 0)
       {
           the_lang = "en";


       }
        else if(position == 1)
        {
            the_lang = "ar";


        }
LocaleHelper.setLocale(LAngSelect.this, the_lang);// =>set language

        mDatabase.updateSettings(new Setting(allsettings.get(0).getId(),the_lang));
mDatabase.close();

第二步:从右到左设置您想要添加到每个活动中的活动:

代码语言:javascript
运行
复制
 mDatabase = new SqliteItemDatabase(this);
        final List<Setting> allsettings = mDatabase.listSettings();
        String langs = allsettings.get(0).getLang() ;
        if(langs.equals("ar")) {
            //HERE CHECK CONDITION FOR YOUR LANGUAGE if it is AR then
//change if it is english then don't
            if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
                getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
                //Resources res = getResources(); //resource handle

            }
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52475828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档