Я хочу установить локаль PhoneNumberFormattingTextWatcher.Как установить PhoneNumberFormattingTextWatcher's locale в kitkat?
но в kitkat, не может использовать конструктор PhoneNumberFormattingTextWatcher (String countryCode).
Так что я пытаюсь использовать отражение. как это.
phoneNumberFormattingTextWatcher = new phoneNumberFormattingTextWatcher();
Field mFormatter = PhoneNumberFormattingTextWatcher.class.getDeclaredField("mFormatter");
mFormatter.setAccessible(true);
mFormatter.set(phoneNumberFormattingTextWatcher,
PhoneNumberUtil.getInstance().getAsYouTypeFormatter(COUNTRY_ISO));
Но mFormatter.set() метод бросает IllegalArgumentException.
Как я могу это исправить?
компиляции 'com.googlecode.libphonenumber: libphonenumber: 7.2.2'
build.gradle (приложение)
Похоже, было бы проще получить доступ к скрытому конструктору, который принимает этот 'String': https://android.googlesource.com/platform/frameworks/base.git/+/kitkat-release/telephony/java/ android/telephony/PhoneNumberFormattingTextWatcher.java # 71 Не знаю, почему он был скрыт тогда. –
Доступ к скрытому конструктору .. это хорошая идея. Я попробую! –