我想設置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不知道爲什麼它被隱藏了。 –
訪問隱藏的構造函數..這是一個好主意。我會盡力! –