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

Android 如何将输入区域设置限制为en US,android,android-layout,android-emulator,android-edittext,Android,Android Layout,Android Emulator,Android Edittext,我有一个android unit converter应用程序,我正在为它添加更多的语言,因为它最初只使用英语。 我为应用程序设计了自己的软键盘,并禁用了默认的软键盘。 软键盘使用按钮和onclick侦听器将文本直接放到edittext上 这是我的按钮的一些代码。金额和金额2是编辑文本 b2.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){

我有一个android unit converter应用程序,我正在为它添加更多的语言,因为它最初只使用英语。 我为应用程序设计了自己的软键盘,并禁用了默认的软键盘。 软键盘使用按钮和onclick侦听器将文本直接放到edittext上

这是我的按钮的一些代码。金额和金额2是编辑文本

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输入阿拉伯符号/数字,这会导致崩溃,因为无法将其解析为数字进行计算,同样在南非荷兰语中,“.”不起作用

我要问的是,是否有一种方法可以将所有输入锁定为严格的英语,但仍然保留其他地区的资源

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

Locale locale = new Locale("en"); 
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
它将应用程序的“内部”工作设置为英语,我的所有输入都是英语。 但最好的部分是,它维护并采用用户的字符串区域设置