Вот решение Swift:
В viewDidLoad установите делегата:
_yourTextField.delegate = self
let _acceptableCharacters = "0123456789."
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if (string.characters.count == 0) {
return true
}
if (textField == self._yourTextField) {
let cs = NSCharacterSet(charactersInString: self._acceptableCharacters)
let filtered = string.componentsSeparatedByCharactersInSet(cs).filter { ![111].isEmpty }
let str = filtered.joinWithSeparator("")
return (string != str)
}
return true
}
Вы можете попробовать отключить изменения ориентации во время показа ProgressDialog
.
в начале выполните:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
и включите обратно после завершения:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
Надеюсь, это поможет.
(Если у кого-то есть правильное решение, мне также было бы интересно: -)
Добавьте это в тег активности в application manifest.xml
<activity android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation|screenSize"
android:name=".your.package"/>