Я недавно обновил приложение для Android со следующей конфигурацией -
compileSdkVersion 27
buildToolsVersion "25.0.3"
defaultConfig {
multiDexEnabled true
applicationId "com.test.www"
versionCode 11
versionName "2.1"
minSdkVersion 23
targetSdkVersion 27
}
compile('com.android.support:appcompat-v7:27.0.1') {
/* compile('com.android.support:appcompat-v7:27.0.2') {*/
exclude module: 'support-v4'
}
compile('com.android.support:design:27.0.1') {
/* compile('com.android.support:design:27.0.2') {*/
exclude module: 'support-v4'
}
compile('com.android.support:support-v4:27.0.1') {
/* compile('com.android.support:support-v4:27.0.2') {*/
exclude module: 'support-v4'
}
compile('com.android.support:recyclerview-v7:27.0.1') {
/* compile('com.android.support:recyclerview-v7:27.0.2') {*/
exclude module: 'support-v4'
}
После этого - мое приложение падает, когда я нажимаю кнопку возврата домой или назад со следующей ошибкой -
Код - getBaseActivity (). OnBackPressed ();(родительский фрагмент возвращает базовую активность)
java.lang.IllegalStateException: у указанного дочернего элемента уже есть родительский элемент.Сначала вы должны вызвать removeView () для родительского объекта ребенка.
Чтобы решить эту проблему, я добавил следующий код в свой базовый фрагмент - который расширяется другими классами -
@Override
public void onDestroyView() {
super.onDestroyView();
if (getActivity() != null) {
ViewGroup parentViewGroup = (ViewGroup) this.getView().getParent();
if (parentViewGroup != null) {
parentViewGroup.removeAllViews();
}
}
}
После этого моя проблема с аварийной ситуацией была решена, но там, где я использую фрагмент с изображением реселлера, через 1 секунду становится пустым, при первом клике я вижу, что запись загружается из бэкэнда, но сразу же в течение 1 секунды она исчезает из-заcode.
Сбой проблема, с которой я не сталкивался до обновления приложения с помощью вышеупомянутой конф.
Пожалуйста, дайте мне знать правильный способ решения проблемы сбоя или помогите мне решить проблемусо списком фрагментов, который автоматически исчезает после добавления кода выше.
С уважением, Хатора