Когда я пытаюсь отклонить диалоговое окно фрагмента, мое приложение иногда сбоя.
Вот журнал: < /p>
Process: com.xxx, PID: 9981
java.lang.RuntimeException: Error receiving broadcast Intent { act=xxxx flg=0x10 (has extras) } in xxxxxx
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:893)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5438)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.app.FragmentTransaction android.app.FragmentManager.beginTransaction()' on a null object reference
at android.app.DialogFragment.dismissInternal(DialogFragment.java:296)
at android.app.DialogFragment.dismissAllowingStateLoss(DialogFragment.java:277)
at xxxxx.updateStatus(BaseAppCompatActivity.java:96)
at xxxxx.access$000(BaseAppCompatActivity.java:43)
at xxxxx$1.onReceive(BaseAppCompatActivity.java:79)
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:883)
< /code>
xxxxx.updatestatus(baseappcompatactivity.java:96)
Эта строка - попытка отклонить диалог: < /p>
mDialogFragment.dismissAllowingStateLoss();
< /code>
Диалогфрагмент находится в моей деятельности.
< /p>
private SimpleBlockedDialogFragment mDialogFragment = SimpleBlockedDialogFragment.newInstance();
< /code>
Итак, mdialogfragment не является null. < /p>
Я показываю диалог, как: < /p>
FragmentTransaction ft = getFragmentManager().beginTransaction();
mDialogFragment.updateMessage("xxx");
mDialogFragment.show(ft, "block_dialog");
< /code>
и диалог упустить как: < /p>
mDialogFragment.dismissAllowingStateLoss();
< /code>
Иногда я показываю диалог только один раз, но увольняю более одного раза. Но я не думаю, что это вызывает сбое.void dismissInternal(boolean allowStateLoss) {
if (mDismissed) {
return;
}
mDismissed = true;
mShownByMe = false;
if (mDialog != null) {
mDialog.dismiss();
mDialog = null;
}
mViewDestroyed = true;
if (mBackStackId >= 0) {
getFragmentManager().popBackStack(mBackStackId,
FragmentManager.POP_BACK_STACK_INCLUSIVE);
mBackStackId = -1;
} else {
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.remove(this);
if (allowStateLoss) {
ft.commitAllowingStateLoss();
} else {
ft.commit();
}
}
}
< /code>
Журнал говорит мне, что getFragmentManager () return null. Я не знаю, почему это произошло.
Как правильно отклонить фрагментдиалог?Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.support.v4.app.FragmentTransaction android.support.v4.app.FragmentManager.beginTransaction()' on a null object reference
at android.support.v4.app.DialogFragment.dismissInternal(DialogFragment.java:196)
at android.support.v4.app.DialogFragment.dismissAllowingStateLoss(DialogFragment.java:177)
< /code>
help ~ < /p>
Подробнее здесь: https://stackoverflow.com/questions/373 ... agmenttran
NullPointerException: попытка вызвать виртуальный метод 'Android.App.FragmentTransaction Android.App.FragmentManager.beg ⇐ Android
Форум для тех, кто программирует под Android
1758787480
Anonymous
Когда я пытаюсь отклонить диалоговое окно фрагмента, мое приложение иногда сбоя.
Вот журнал: < /p>
Process: com.xxx, PID: 9981
java.lang.RuntimeException: Error receiving broadcast Intent { act=xxxx flg=0x10 (has extras) } in xxxxxx
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:893)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5438)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.app.FragmentTransaction android.app.FragmentManager.beginTransaction()' on a null object reference
at android.app.DialogFragment.dismissInternal(DialogFragment.java:296)
at android.app.DialogFragment.dismissAllowingStateLoss(DialogFragment.java:277)
at xxxxx.updateStatus(BaseAppCompatActivity.java:96)
at xxxxx.access$000(BaseAppCompatActivity.java:43)
at xxxxx$1.onReceive(BaseAppCompatActivity.java:79)
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:883)
< /code>
xxxxx.updatestatus(baseappcompatactivity.java:96)
Эта строка - попытка отклонить диалог: < /p>
mDialogFragment.dismissAllowingStateLoss();
< /code>
Диалогфрагмент находится в моей деятельности.
< /p>
private SimpleBlockedDialogFragment mDialogFragment = SimpleBlockedDialogFragment.newInstance();
< /code>
Итак, mdialogfragment не является null. < /p>
Я показываю диалог, как: < /p>
FragmentTransaction ft = getFragmentManager().beginTransaction();
mDialogFragment.updateMessage("xxx");
mDialogFragment.show(ft, "block_dialog");
< /code>
и диалог упустить как: < /p>
mDialogFragment.dismissAllowingStateLoss();
< /code>
Иногда я показываю диалог только один раз, но увольняю более одного раза. Но я не думаю, что это вызывает сбое.void dismissInternal(boolean allowStateLoss) {
if (mDismissed) {
return;
}
mDismissed = true;
mShownByMe = false;
if (mDialog != null) {
mDialog.dismiss();
mDialog = null;
}
mViewDestroyed = true;
if (mBackStackId >= 0) {
getFragmentManager().popBackStack(mBackStackId,
FragmentManager.POP_BACK_STACK_INCLUSIVE);
mBackStackId = -1;
} else {
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.remove(this);
if (allowStateLoss) {
ft.commitAllowingStateLoss();
} else {
ft.commit();
}
}
}
< /code>
Журнал говорит мне, что getFragmentManager () return null. Я не знаю, почему это произошло.
Как правильно отклонить фрагментдиалог?Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.support.v4.app.FragmentTransaction android.support.v4.app.FragmentManager.beginTransaction()' on a null object reference
at android.support.v4.app.DialogFragment.dismissInternal(DialogFragment.java:196)
at android.support.v4.app.DialogFragment.dismissAllowingStateLoss(DialogFragment.java:177)
< /code>
help ~ < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/37342869/nullpointerexception-attempt-to-invoke-virtual-method-android-app-fragmenttran[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия