我想设置PhoneNumberFormattingTextWatcher的语言环境。如何在kitkat中设置PhoneNumberFormattingTextWatcher的语言环境?
但是在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不知道为什么它被隐藏了。 –
访问隐藏的构造函数..这是一个好主意。我会尽力! –