- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 android 应用程序中有这个导航模式:
PrimaryActivity (... ListView onClick - sending <PrimaryUri> via intent...) >
MasterActivity (TabLayout, ViewPager, FragmentPageAdapter) >
FragmentA / FragmentB (...ListView onClick - sending <PrimaryUri> + <DetailUri> via intent...) > DetailActivity.
现在,当我在 DetailActivity 中按下 BACK 按钮时,MasterActivity 被销毁并使用 Fragment A 和 B 的新实例以及 Intent 数据(
我尝试通过这种方式在 Activity 之间持久化
现在我真的很感谢问题的帮助:How to persist
编辑:一些附加信息:
详细 Activity :
@Override
public void finish() {
Intent resultIntent = new Intent();
resultIntent.setData((Uri) getIntent().getParcelableExtra(FragmentB.MY_URI));
setResult(Activity.RESULT_OK, resultIntent);
super.finish();
}
在 MasterActivity 中我有:
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
在 FragmentB 中我有:
public void onItemSelected(Uri contentUri) {
Intent intent = new Intent(getActivity(), DetailActivity.class);
intent.putExtra(PRIMARY_URI, mUri);...
startActivityForResult(intent, FragmentB.BACKTAG);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case (FragmentB.BACKTAG): {
if (resultCode == Activity.RESULT_OK) {
mUri = data.get...
}
}
break;
}
}
奇怪的行为看起来像:
我认为原因是在等待 onActivityResult 时出现了 onDestroy。但是为什么调用它以及为什么没有完全重新创建 MasterActivity 来捕获 onActivityResult 回调?
最佳答案
这很让人头疼,但是 here经过 2 天的徒劳尝试,我找到了解决方案。这与 FragmentPageAdapter 无关。我是幸运的女人!
关于android - 即使我在 FragmentPagerAdapter 中尝试 startActivityForResult、saveInstanceState,BACK 按钮上的 Intent 也会丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37061838/
我有三个按钮,第一个选择的按钮将标记为 X,而选择的第二个按钮将标记为 O,最后一个按钮将再次标记为 X。 如果标记 X,则其颜色为白色,如果标记 O,则标记为灰色。 现在我想做的是使用保存的实例,这
当我的代码尝试访问 Activity 类的 onSaveInstanceState 方法创建的键/值对中的值时,我收到 NullPointerException。 我设置了断点,并且我知道事实上我的
我读到,如果我们想在 Activity 重新启动(旋转设备)时保存任何数据,我们必须将所有数据存储在 Bundle 的 saveInstanceState() 中。 但是,如果我们想将大数据结构保存在
我一直在开发我的应用程序,到了需要了解 Activity 生命周期的地步,但我认为我不明白。我拥有的是一个带有七个按钮的 Activity 。当用户按下一个按钮时,它会打开一个 listActivit
我遇到了一个问题,即我有一个包含多个 fragment 的 Activity。对于任何单个 fragment ,您可以执行搜索操作,效果很好......如果您从任何 fragment 中搜索,它将显示
我正在开发一个视频应用程序,它使用 ArrayDeque 来存储我们观看的视频的历史记录,使用推送、弹出。它运行良好,但我正在寻找一种保存和恢复 ArrayDeque 的干净方法 private De
我遇到了两种方法来防止 Activity 在屏幕旋转时重绘。一种是 saveInstanceState + restoreInstanceState 组合,我仍然未能成功实现。 另一个是在manife
我有一个带有操作栏选项卡的 Activity 。每个选项卡都包含一个 fragment 。现在,当我旋转我的设备时,相应 fragment 中的 bundle 变为空。当我使用 android 3.2
我有一个 ArrayList<>定制 Object当我的用户关闭我的应用程序时我需要保存。我可以在 logcat 中看到它“保存”到 outBundle当我使用 Bundle.putParcelabl
我创建了一个 ListView ,用于将文件从 SD 卡上传到列表并将其附加到列表中。然而我退出了 Activity 并且 onDestroyed 被调用并且我从我的 listView 中丢失了所有数
我的 android 应用程序中有这个导航模式: PrimaryActivity (... ListView onClick - sending via intent...) > MasterAct
我是一名优秀的程序员,十分优秀!