从片段中调用片段

时间:2018-04-05 16:27:38

标签: android android-fragments

按下主片段内的按钮,我想在那个地方调用第二个片段

    public void onViewClicked(View view) {
    Fragment frag = null;
    switch (view.getId()) {
        case R.id.btn_login:
            frag = new LoginFragment();
            break;
        case R.id.btn_offline:
            frag = new OfflineFragment();
            break;
    }

    MainActivity mainActivity = new MainActivity();
    FragmentManager manager = 
    mainActivity.getSupportFragmentManager();
    FragmentTransaction transaction = manager.beginTransaction();
    transaction.replace(R.id.fragment, frag);
    transaction.commit();
}

2 个答案:

答案 0 :(得分:1)

永远不要创建Activity实例。它是一个组件,由系统本身(Intent)管理。使用getActivity()获取Context的{​​{1}}。

Activity

你应该看看Android Application Fundamentals

答案 1 :(得分:0)

我建议使用getChildFragmentManager();片段使片段管理器执行所有与片段相关的操作,而不是从getActivity()方法使用fragmentManager。它可以帮助你在以后的时间点再次重新加载片段。