我想改变Android应用程序本地化阿拉伯语 - 英语.
但是,当我将语言更改为阿拉伯语时,它将所有数字更改为阿拉伯语,以便应用程序崩溃我想将语言更改为阿拉伯语并防止更改数字语言来自英语.
Locale locale = new Locale(AppConfig.Language);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = "ar";
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
setContentView(R.layout.activity_main);
Run Code Online (Sandbox Code Playgroud)
当我想使用gps获取位置时它是阿拉伯语中的返回数字我怎么能阻止它改变数字语言?
小智 10
我知道这个答案为时已晚,但它可以帮助将来的某个人.几天我一直在努力,但我找到了一个简单的解决方案.只是将国家设置为第二个参数.因为有些国家使用阿拉伯数字而其他国家使用所谓的印度数字
Locale locale = new Locale(LanguageToLoad,"MA");//For Morocco to use 0123...
Run Code Online (Sandbox Code Playgroud)
要么
Locale locale = new Locale(LanguageToLoad,"SA");//For Saudi Arabia to use ????...
Run Code Online (Sandbox Code Playgroud)
可以为TextView应用程序中扩展它的个体或元素设置区域设置。有关详细信息,
请参阅http://developer.android.com/reference/android/widget/TextView.html#setTextLocale(java.util.Locale)
更新
您可以使用以下方法将数字解析为您想要的区域设置
public static String nFormate(double d) {
NumberFormat nf = NumberFormat.getInstance(Locale.ENGLISH);
nf.setMaximumFractionDigits(10);
String st= nf.format(d);
return st;
}
Run Code Online (Sandbox Code Playgroud)
然后你可以解析数字再次加倍
| 归档时间: |
|
| 查看次数: |
4615 次 |
| 最近记录: |