【问题标题】:getSupportActionBar() returns nullgetSupportActionBar() 返回 null
【发布时间】:2013-06-16 12:29:12
【问题描述】:

我正在学习使用滑动菜单库。到目前为止,我可以使用带有 2 个片段的 viewpager。但我不能使用操作栏选项卡来导航这些片段。 这是我的代码

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);     

    mPager = new ViewPager(this);
    mPager.setId(R.id.pager);
    mPager.setAdapter(new MyViewPagerAdapter(
            getSupportFragmentManager()));
    setContentView(mPager);
    mPager.setOnPageChangeListener(new OnPageChangeListener() {

        @Override
        public void onPageScrollStateChanged(int arg0) {
        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
        }

        @Override
        public void onPageSelected(int position) {
            switch (position) {
            case 0:
                getSlidingMenu().setTouchModeAbove(
                        SlidingMenu.TOUCHMODE_FULLSCREEN);
                break;
            default:
                getSlidingMenu().setTouchModeAbove(
                        SlidingMenu.TOUCHMODE_MARGIN);
                break;
            }
        }

    });
    mPager.setCurrentItem(0);

    // Construct tab for action bar
    ActionBar.TabListener tabListener = new ActionBar.TabListener() {

        @Override
        public void onTabSelected(Tab tab, FragmentTransaction ft) {
            // Pass the position on tab click to ViewPager
            mPager.setCurrentItem(tab.getPosition());
        }

        @Override
        public void onTabUnselected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub } }
        }

        @Override
        public void onTabReselected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub
        }
    };
    mActionBar = getSupportActionBar();
    tab1 = mActionBar.newTab();
    suntime.setText("Sun Time");
    suntime.setTabListener(tabListener);

    tab2= mActionBar.newTab();
    mapview.setText("View Map");
    mapview.setTabListener(tabListener);

    mActionBar.addTab(tab1);
    mActionBar.addTab(tab2);
}

我遇到 getSupportActionBar() 空异常错误。 有人可以帮忙吗?

【问题讨论】:

  • 我找不到你在哪里使用 getSupportActionBar
  • 您是否使用带有操作栏的主题?
  • @blackbelt:在我的代码中有声明mActionbar = getSupportActionBar
  • 这可能会有所帮助stackoverflow.com/questions/7294797/…
  • "在我的代码中有语句 'mActionbar = getSupportActionBar'" -- 你在这里列出的代码中没有这样的语句。

标签: java android actionbarsherlock slidingmenu


【解决方案1】:

@ALL 谢谢大家,我解决了。我错误地import android.app.ActionBar 而不是import com.actionbarsherlock.app.ActionBar。现在它工作得很好:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多