【发布时间】:2015-10-13 00:28:46
【问题描述】:
我的应用程序使用一个活动和许多片段,扩展 AppCompatActivity 的活动膨胀了一个 xml 文件,其中包含一个 LinearLayout 其他 ViewGroups,此 LinearLayout 的目的是保持 3 个按钮,并非所有按钮在开始时都是可见的。
在代码中,我更改了 LinearLayout 的视图并 它的一些按钮的视图和文本取决于在当前片段中采取的操作。然而,当 活动在电话主页键按下后重新创建。 每次在 SharedPreferences 中更改按钮时保存每个按钮的可见性和文本太难了,所以我尝试了下面的代码但失败了。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (mMainButtons_LL != null) {
mMainButtons_LL = (LinearLayout) savedInstanceState.getSerializable("mainButtons");
} else {
mMainButtons_LL = (LinearLayout) findViewById(R.id.main_buttons_LL);
}
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable("mainButtons", (Serializable) mMainButtons_LL);
}
【问题讨论】: