【问题标题】:Android Action Bar?安卓操作栏?
【发布时间】:2012-10-15 10:09:51
【问题描述】:

我的应用中有一个适用于 Android 4.0.3 的操作栏。每个选项卡都有一些按钮(一种继续),它们会更改片段而不是选项卡。我遵循了http://developer.android.com 上的官方开发人员指南,但它不起作用。

这就是我想要的:

这种类型的与动作条夏洛克的互动是可能的吗?

【问题讨论】:

  • 如果我理解你想在当前标签中导航?由于 ViewPager 使用的是 Adapter,我没有想到一个简单的方法来实现:s ActionBarSherlock 和官方的 ActionBar 一样,它只是兼容之前版本的 Android。你不能在点击前一个按钮时打开一个新的 Activity 吗?
  • 是的,这正是我所需要的!我也会使用 Activity,但不幸的是我不能,我不得不保留这个栏。
  • 你能发布你的代码吗? ViewPager 和 ViewPager 适配器?解决方案在这里:)

标签: android android-fragments android-actionbar actionbarsherlock


【解决方案1】:

我相信您可以通过正确覆盖选项卡回调类方法 onTabSelected(Tab tab, FragmentTransaction ft) 来指定所需的选项卡行为。 它应该看起来像

        public void onTabSelected(Tab tab, FragmentTransaction ft) {
        // Check if the fragment is already initialized
        if (mFragment == null) {
            // If not, instantiate and add it to the activity
            mFragment = Fragment.instantiate(mActivity, mClass.getName());
            ft.add(R.id.realtabcontent, mFragment, mTag);
        } else {
            //Here we look if current fragment aren't default fragment for this tab
            //Remember that detached fragments are still managed by system, so manage it the way u need
            // If it exists, simply attach it in order to show it
            // ft.attach(mFragment);
            if (mFragment.getTag().equals("defaultFragment"))
                ft.show(mFragment);
            else {
                ft.detach(mFragment);

                mFragment = fragmentManager.findFragmentByTag("defaultFragment");
                if (mFragment == null)
                    mFragment = Fragment.instantiate(mActivity, mClass.getName());
                ft.add(R.id.realtabcontent, mFragment, "defaultFragment");
            }
        }
    }

【讨论】:

猜你喜欢
  • 2011-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-21
  • 2019-02-04
  • 2022-09-27
相关资源
最近更新 更多