Ошибка выбора номера при локализации приложения
Мое приложение поддерживает несколько языков. Выбор номера на всех языках отображается правильно. сборщик номеров на английском и других языках
Но когда язык приложения выбран как хинди, средство выбора номера не показывает цифры изначально и показывает на хинди, когда средство выбора номера прокручивается.
Выбор номера на хинди, когда цифры прокручиваются
Я попытался изменить тип лица также, и он работает на всех других языках, кроме хинди. Может ли кто-нибудь дать мне знать, как запретить сборщикам цифр на языке хинди?
Это класс для моего пользовательского выбора номера.
public class MyNumberPicker extends NumberPicker{
public MyNumberPicker(Context context) {
super(context);
}
public MyNumberPicker(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void addView(View child){
super.addView(child);
updateView(child);
}
public void addView(View child,int index,ViewGroup.LayoutParams params){
super.addView(child,index,params);
updateView(child);
}
public void addView(View child,ViewGroup.LayoutParams params){
super.addView(child,params);
updateView(child);
}
private void updateView(View view) {
if (view instanceof EditText){
((EditText)view).setTextSize(20);
((EditText)view).setTextColor(getResources().getColor(R.color.Text));
Typeface tf = Typeface.createFromAsset(getResources().getAssets(), "Raleway-Medium.ttf");
((EditText)view).setTypeface(tf);
}
}
}
Вот как я использовал сборщик чисел в действии.
MyNumberPicker np_inhale =(MyNumberPicker) findViewById(R.id.np_inhale);
np_inhale.setMinValue(1);
np_inhale.setMaxValue(50);
np_inhale.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
i=newVal;
h=np_hold.getValue();
e=np_exhale.getValue();
hafter= np_holdafter.getValue();
r=np_rounds.getValue();
}
});
Я использовал этот код для локализации.
String str_lang = "";
if (lang_chng == 1) {
str_lang = "hi";
} else if(lang_chng == 2) {
str_lang = "ru";
} else if(lang_chng == 3) {
str_lang = "fr";
}
else
str_lang = "en";
myLocale = new Locale(str_lang);
Locale.setDefault(myLocale);
android.content.res.Configuration config = new android.content.res.Configuration();
config.locale = myLocale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
Спасибо.!