有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案