我有一个 fragment :
ProductsFragments extends Fragment
和一项 Activity
AdminMenuActivity extends ActionBarActivity
我想从 AdminMenuActivity 调用 ProductsFragments。我使用了 2 个选项:
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
那么如何调用Fragment
呢?
最佳答案
下面是如何从 Activity 中调用 fragment
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 表示以下内容:
<fragment android:name="com.company.appName.fragments.FirstFragment"
android:id="@+id/fragment_place"
android:layout_width="match_parent"
android:layout_height="match_parent" />
关于android - 如何从 Activity 启动 Fragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30412748/