- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
首先,我要声明我已经为这个问题寻找解决方案三天了,这可能意味着我没有问正确的问题或者没有使用好的方法。如果有的话,请指导我正确的方向。
情况是这样的:我有一个 Activity
和一个绑定(bind)的 Service
。 Service
保存一些数据并根据需要处理这些数据,同时发布包含一些信息的持久(持续)通知。 Activity
在 ViewPager
中有三个 Fragment
,显示由 Service
处理的数据。
Fragments
是一个List Fragment,显示可用的 Activity 数据条目,一个Details Fragment,显示每个数据的详细信息, Parameters Fragment,用户可以在其中修改数据的处理方式。
[服务] <-> ([ Activity ] -> [ViewPager([列表], [详细信息], [参数])])
一切正常。我的 Activity
绑定(bind)到 Service
,之后创建了 ViewPager
,然后 Fragments
通过 获取信息>接口(interface)
。
有趣的部分来了......屏幕旋转!
由于 Service
异步绑定(bind),当用户旋转屏幕时 Fragments
不再有数据,因为 Activity
正在绑定(bind)服务由于 ViewPager
,它们已经存在并且没有重新创建。
我一直在努力解决这个问题,但似乎我没有解决它的知识。我试过对 fragment 进行静态引用,在服务反弹之前设置它们,但我无法获得稳定的解决方案。
我会在 list 中使用 android:configChanges
,但每个方向都有不同的布局。
再说一次,如果我使用的方法不好,请指导我!
最佳答案
当我不知道你的代码但大声思考时很难提出建议......
你能不能有一个永远不会显示(即 headless )并且设置了 setRetainInstance(true) 的“工作 fragment ”,这样它就不会丢失你设置的任何状态。
您的工作 fragment 将绑定(bind)到服务而不是 Activity 并维护对它的引用。
如果您需要与您的 Activity 通信,您可以使用回调来实现。
您的其他 fragment 可以与 worker 而不是 Activity 通信。
此过程基本上会使 Activity 只不过是一个外壳,其余组件都托管在该外壳中。旋转不会丢失任何东西,因为所有数据都保存在保留的 fragment 中。
关于Android 服务 > Activity > 带有 ViewPager 的 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20662735/
我对 Android 很陌生,如果问题重复,请避免并发送链接。有三个 Activity A、B 和 C。 Activity A 获取一个用户名,我想在 Activity C 中显示该用户名,但我想先运
我正在尝试制作记事本应用程序,因此每次打开新笔记时,布局都会相同。另外, Activity 的数量(新注释)不应定义得尽可能多 最佳答案 如果 Activity 始终相同,您可能应该创建一个适配器,允
我有 3 个 Activity 。 主窗口 5 个按钮 在按钮的主窗口中按下此窗口打开(将其称为父窗口) 在父窗口按钮上按下此窗口打开调用它作为结束子窗口。 现在从子窗口我从父窗口获取值如下:
我遇到了一个 Activity backstack 问题。假设我的后台有 5 个 Activity :比如 Activity A、 Activity B、 Activity C、 Activity D
我正在寻找必须具有以下附加特征的 JMS 提供程序: 采用多代理,所有代理都必须处于事件状态(无单点故障) 仅在两台机器上进行扩展就足以满足我们的需求 能够保证订购(如果 1 个生产者 + 1 个消费
假设,我有一个由 TabHost 组成的选项卡 Activity 。 TabHost 包含 2 个选项卡,每两个选项卡都有一个 Activity 组。每个 Activity 组包含一项 Activit
我正在开发一个应用程序,我需要根据某些操作导航到特定 Activity 。这是一张图片 我的第一个 Activity 是 ReadingActivity。基于某些操作,用户将被带到 NewProjec
我创建了一个与服务器异步通信的应用程序。当应用程序发出服务器请求时,将创建一个带有“正在加载”通知的新对话框( Activity )。主要 Activity 实现了处理服务器响应的方法,我想在主要 A
我想在我的所有应用程序 Activity 中显示相同的选项菜单。我创建了一个实现菜单的通用 Activity ,并且我所有的进一步 Activity 都扩展了它。 问题:当我需要扩展其他特定 Acti
我有四个 Activity ,即 java 文件 - Activity1.java、activity2.java、activity3.java、activity4.java 和 xml 文件 - Ac
我有两个 Activity 。我想将数据从第二个 Activity 发送到上一个 Activity 。第一个 Activity 有自定义 ListView 和 bean 类。当我点击第二个 Activ
根 Activity 是堆栈中当前的第一个 Activity 还是 list 中指定为启动 Activity 的 Activity ? 支持应用程序 P 在启动时启动 Activity A。然后 A
你好 我想知道您在绘制 Activity 图选择“Activity ”时考虑了哪些关键点? 您如何从要建模的问题中选择 Activity ? 谢谢 最佳答案 Activity 图用于对正在开发的系统和
如何从主 Activity 启动 Activity 并在子 Activity 返回主 Activity 中退出操作后返回主 Activity ? 我已将子 Activity 作为启动器 Intent
我的工作流程如下: 登录 Activity -> ActivityB -> ActivityC -> ActivityD 我想将数据从LoginActivity传递到ActivityD,但不直接传递到
我之前曾尝试获得此问题的答案,但找不到可以解决我的问题的答案。我正在制作保存圆盘高尔夫球分数的应用程序。我的 MainActivity 有 4 个按钮。新比赛、恢复比赛、类(class)和球员。 At
我有一个 tts 非 UI 类和 Activity 类。现在在 Activity 类中,我有一个按钮,用户可以从中选择男声或女声,具体取决于我想要将字符串传递给 tts 类的选择,然后一次tts 类根
问题有点复杂,首先, Activity A 和 Activity B 的 list 中都有 android:noHistory = true 。我有一个自定义 serialized 类,假设 MyCl
在我的应用程序中,我有两个 Activity (AuthenticationActivity 和 MainActivity),每个 Activity 都有一个导航图和大量 fragment 。我创建了
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: How can i use compose email activity in tabView? 我想在选项
我是一名优秀的程序员,十分优秀!