Ошибка выбора номера при локализации приложения

Мое приложение поддерживает несколько языков. Выбор номера на всех языках отображается правильно. сборщик номеров на английском и других языках

Но когда язык приложения выбран как хинди, средство выбора номера не показывает цифры изначально и показывает на хинди, когда средство выбора номера прокручивается.

Выбор номера на хинди, когда цифры прокручиваются

Я попытался изменить тип лица также, и он работает на всех других языках, кроме хинди. Может ли кто-нибудь дать мне знать, как запретить сборщикам цифр на языке хинди?

Это класс для моего пользовательского выбора номера.

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());

Спасибо.!

0 ответов

Другие вопросы по тегам