如何从Activity开始Fragment? [英] How to start Fragment from Activity?

查看:107
本文介绍了如何从Activity开始Fragment?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个片段:

ProductsFragments extends Fragment

和一个活动

AdminMenuActivity extends ActionBarActivity

我想从AdminMenuActivity调用ProductsFragments.我使用了2个选项:

I want to call ProductsFragments from AdminMenuActivity. I have used 2 options:

1)

FragmentManager fm = getSupportFragmentManager();
                for(int i = 0; i < fm.getBackStackEntryCount(); ++i) {
                    fm.popBackStack();
                }
                FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
                tx.replace(R.id.frame_layout, android.support.v4.app.Fragment.instantiate(AdminMenuActivity.this, fragments[1]));
                tx.commit();

2)

Intent intent1 = new Intent(AdminMenuActivity.this, ProductsActivity.class);
                startActivity(intent1);

两者均失败.我不想使用FragmentActivity扩展ProductsFragments,因为它并没有给我SupportedActionBar v7

Both are failed. I don't want to extend ProductsFragments with FragmentActivity because it doesn't give me supportedActionBar v7

那我怎么打电话给Fragment?

推荐答案

这是从活动内部调用片段的方式

Here is how you call a fragment from inside an Activity

Fragment fr = new FirstFragment();
fr.setArguments(args);
FragmentManager fm = getFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.fragment_place, fr);
fragmentTransaction.commit();

假设您具有fragment_place表示以下内容:

Assuming you have fragment_place represents the following:

<fragment android:name="com.company.appName.fragments.FirstFragment"
        android:id="@+id/fragment_place"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

这篇关于如何从Activity开始Fragment?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆