getActionBar显示null

时间:2015-02-20 09:54:41

标签: java android

 public class Main_Activity extends Fragment_Activity{

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            ViewPager pager = (ViewPager) findViewById(R.id.viewPager);
            pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
            ActionBar bar=getActionBar();

            if(getActionBar()!=null) {
                bar.setDisplayHomeAsUpEnabled(true);
                bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#4a90e2")));
            }


        }

我正在使用扩展Fragment_Activity,我希望显示操作栏,但在我的程序中,getActionBar()返回null

3 个答案:

答案 0 :(得分:1)

至于文档

如果要实现包含操作栏的活动,则应使用 ActionBarActivity 类,该类是此类的子类,因此允许您在API级别7上使用Fragment API更高。

更改以下行

public class Main_Activity extends Fragment_Activity

public class Main_Activity extends ActionBarActivity

并获取 ActionBar 调用

 getSupportActionBar();

希望这会对你有所帮助。

答案 1 :(得分:0)

扩展ActionBarActivity而不是FragmentActivity.

public class Main_Activity extends ActionBarActivity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ViewPager pager = (ViewPager) findViewById(R.id.viewPager);
        pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
        ActionBar bar=getActionBar();

        if(getActionBar()!=null) {
            bar.setDisplayHomeAsUpEnabled(true);
            bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#4a90e2")));
        }


    }

答案 2 :(得分:0)

尝试使用

获取ActionBar
ActionBar actionBar = getSupportActionBar();