在android中初始化片段

时间:2016-02-25 04:08:29

标签: android android-fragments

我只知道如何添加片段和删除。 也显示和隐藏。

我只想初始化片段。

onCreate {
    getFragmentManager().beginTransaction().add(R.id.top_container, new AuthProgressDialog(), AuthProgressDialog.class.getSimpleName()).commit();
    getFragmentManager().beginTransaction().hide( getFragmentManager().findFragmentByTag(AuthProgressDialog.class.getSimpleName()) ).commit();
}

这是糟糕的代码,不是吗?

如果您有任何想法,请告诉我。 感谢。

2 个答案:

答案 0 :(得分:1)

这是一个示例方法,您可以在FragmentActivity中定义并从任何片段调用。其中如果你想允许添加到backstack而不是从transaction.addToBackStack中移除注释行(" back");并根据FragmentActivity中的要求检查popup backstack。

  public void displayView(int position) {

    Fragment fragment = null;
    switch (position) {
    case 0:
        fragment = new FormFragment();
        break;
    case 1:
        fragment = new HomeFragment();
        break;
    }

    if (fragment != null) {
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction transaction = fragmentManager
                .beginTransaction();
        if (position != 0)
            // transaction.addToBackStack("back");
            transaction.replace(R.id.main_ll_container, fragment).commit();
    } else {
        Log.e("MainActivity", "Error in creating fragment");
    }
}

答案 1 :(得分:0)

使用此代码:

FragmentManager fragmentManager = getFragmentManager()
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

Fragment fraggy = new DummyFragment();
fragmentTransaction.add(R.id.fragment_container, fraggy);
fragmentTransaction.commit();