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

Pul*_*ull 2 android android-fragments

我是一个新的Android开发人员,所以我更喜欢询问正确的方法以解决我的问题.

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

我试图创建新的活动,并用Intent显示它们,但是actionBar发现了.

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

先感谢您.

Pul*_*ull 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);
Run Code Online (Sandbox Code Playgroud)

如果要在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();
Run Code Online (Sandbox Code Playgroud)