带有不同碎片的动作栏

时间:2013-09-11 18:02:57

标签: android android-fragments android-actionbar android-actionbar-compat

我想创建一个具有Action Bar(v7 appcompat)下拉导航的应用程序,其中包含3个不同的片段。第一个片段是带有制表符的列表片段,第二个片段是常规片段,最后一个片段是网格视图。我正在使用片段事务来替换帧布局中的片段。

我的问题是如何使用制表符制作第一个列表片段。我想我必须使用view pager,但为此你需要片段活动?是否可以在实际操作栏中添加选项卡? 到目前为止,这是我的代码:

public class MainActivity extends ActionBarActivity {

    ActionBar actionBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        actionBar = getSupportActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
        SpinnerAdapter spinnerAdapter = ArrayAdapter.createFromResource(this,
                R.array.action_list,
                android.R.layout.simple_spinner_dropdown_item);
        actionBar.setListNavigationCallbacks(spinnerAdapter,
                onNavigationListener);
    }

    OnNavigationListener onNavigationListener = new OnNavigationListener() {

        @Override
        public boolean onNavigationItemSelected(int position, long arg1) {
            // TODO Auto-generated method stub
            android.support.v4.app.Fragment fragment = null;
            FragmentTransaction fragmentTransaction = getSupportFragmentManager()
                    .beginTransaction();
            switch (position) {
            case 0:
                fragment = new android.support.v4.app.Fragment();
                break;

            case 1:
                fragment = new android.support.v4.app.Fragment();
                break;

            case 2:
                fragment = new android.support.v4.app.Fragment();
                break;

            default:
                break;
            }
            fragmentTransaction.replace(R.id.framelayout, fragment);
            fragmentTransaction.commit();
            return true;
        }
    };

忽略switch-case中创建新片段的代码,它们都是相同的。 谢谢!

0 个答案:

没有答案