当我改变片段的方向时,我遇到了问题。 我只有一个片段的活动。 活动运行fragment1 => fragment1运行片段2 所以当我改变片段2的方向时,我发现了激活。 我做了什么:
我将这一行添加到所有片段中:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// retain this fragment
setRetainInstance(true);
}
和活动onCreate 我这样做了:
FrameLayout frameLayout = (FrameLayout) findViewById(R.id.fragmentLayout);
findViewById(R.id.fragmentLayout).setVisibility(View.VISIBLE);
Map<String, Object> map = (HashMap<String, Object>) getLastCustomNonConfigurationInstance();
// Check if we are restoring the activity from an orientation change
// for example
if (map == null || map.isEmpty()) {
extras = getIntent().getExtras();
if (extras != null && extras.getInt("CategoryId") >0 ) {
fragment2 itemsFragment = new fragment2();
fragment2.setArguments(extras);
SplashActivity.this
.getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragmentLayout, itemsFragment).addToBackStack("fragment2").commit();
}
}
所以我的问题是,如何更改片段2的方向并保留在fragment2中?