使用actionBar推送视图的正确方法

时间:2013-11-27 14:01:26

标签: android android-fragments

我是一名新的Android开发人员,因此我更愿意询问正确的解决问题的方法。

我有一个FragmentActivity和多个片段,我的一个片段是按钮的组合,应该在iOS上的导航控制器中显示新视图,如推送视图。

我尝试创建新活动并使用Intent显示它们,但是actionBar已经解开了。

那么我想创建什么来使用actionBar并保留我的操作栏?

提前谢谢。

1 个答案:

答案 0 :(得分:5)

我会回答自己,因为我找到了解决方案,也许会有所帮助。 我将与iOS进行比较。

如果您正在使用拥有片段的actionBar,并且您想要打开一个新视图,则有两种不同的方式。

如果要在actionBar和所有其他元素上添加新视图,请创建一个新的Activity并使用Intent。 这个方法就像iOS上的模态视图

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
myIntent.putExtra("key", value); //Optional parameters
CurrentActivity.this.startActivity(myIntent);

如果要在ActionBar中添加新视图,请创建一个新片段并使用以下代码:

    Fragment newFragment = new MyNewFragmentClass();
    FragmentTransaction transaction = getFragmentManager().beginTransaction();

    // Replace whatever is in the fragment_container view with this fragment,
    // and add the transaction to the back stack
    transaction.replace(R.id.my_current_layout, newFragment);
    transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
    transaction.addToBackStack(null);

    // Commit the transaction
    transaction.commit();