方向改变时丢失片段

时间:2016-02-11 10:54:25

标签: android android-fragments

当我改变片段的方向时,我遇到了问题。 我只有一个片段的活动。 活动运行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中?

0 个答案:

没有答案