如何将输入区域设置限制为en-US

时间:2013-05-24 07:32:51

标签: android android-layout android-emulator android-edittext

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

这是我的按钮的一些代码。金额和金额2是edittexts

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,这会导致崩溃,因为它不能解析为数字进行计算,也在南非荷兰语中解析“。”不起作用,

要问的是,是否有办法将所有输入锁定为严格的英语,但仍然维护其他语言环境以获取资源等内容。

1 个答案:

答案 0 :(得分:1)

这似乎有效。 通过在OnCreate方法中粘贴此代码

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

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