java将片段的B保存状态传递给活动A
我的问题有些理论性(我为缺少代码而道歉,但我甚至不确定这是否可行)
我有两个活动和两个片段(每个片段对应一个活动)。活动A(纵向模式)仅显示片段A。活动B(纵向模式)仅显示片段B
当景观中的活动A(MainActivity)必须显示片段A(属于自身)和片段B(属于活动B)时,我的问题就出现了。我似乎无法将片段B的状态保存到活动A(MainActivity)
这是我在片段B中尝试的:
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstanceState();
}
...
我能用这段代码保存片段B的状态(它的所有局部变量)吗
在活动A(MainActivity)中,我试图检测设备是否在横向:
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
// restore fragment's B state so the recent data passed into it shows up
// in landscape (in Activity A).
}
else {
// keep doing what you're doing in portrait view.
}
每次我旋转我的设备时,片段B都会变空,即使在纵向模式下,我会显示数据(从片段a的列表中选择一个项目时传递的数据)
在这种特殊情况下,如何捕捉片段B的状态?多谢
共 (0) 个答案