0

我有一个 android 单位转换器应用程序,我正在向它添加更多语言,因为它最初只有英文。我设计了自己的软键盘以在应用程序中使用,并禁用了默认软键盘。软键盘使用按钮和 onclick 监听器将文本直接放到编辑文本上。

这是我的按钮的一些代码。amount 和 amount2 是编辑文本

b2.setOnClickListener(new View.OnClickListener(){
                public void onClick(View v){
                    myVib.vibrate(25);
                    if(getCurrentFocus()==amount){
                        amount.append("2");
                    }
                    if(getCurrentFocus()==amount2){
                        amount2.append("2");
                    }
                }
            });
            b3.setOnClickListener(new View.OnClickListener(){
                public void onClick(View v){
                    myVib.vibrate(25);
                    if(getCurrentFocus()==amount){
                        amount.append("3");
                    }
                    if(getCurrentFocus()==amount2){
                        amount2.append("3");
                    }
                }
            });

一切都很好,直到我添加了阿拉伯语和南非荷兰语等一些语言环境,当我使用阿拉伯语语言环境时,按下输入英文 1 的按钮输入 1 的阿拉伯符号/数字,这会导致崩溃,因为它无法解析为数字用于计算,在南非荷兰语中也是“。” 不工作,

我要问的是,是否有办法将所有输入锁定为严格的英语,但仍保持其他语言环境,例如资源。?

4

1 回答 1

1

好吧,这似乎有效。通过将此代码粘贴到 OnCreate 方法中

Locale locale = new Locale("en"); 
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;

它将应用程序的“内部”工作设置为英语,我的所有输入都是英语。但最好的部分是它维护并采用用户的字符串区域设置,而不是。

于 2013-05-24T08:37:37.660 回答