如何在FragmentActivity中使用getSupportActionBar?

时间:2014-11-05 18:16:44

标签: android android-fragments android-actionbar android-fragmentactivity android-actionbaractivity

它说ActionBarActivityFragmentActivity的子类,但在我的FragmentActivity中,我无法使用getSupportActionBar()
它在扩展ActionBarActivity时运行良好,但我需要FragmentActivity用于其他东西。我尝试使用ActionBar v7,但是它给了我NullPointerException也尝试过这里写的其他东西,如:

 ActionBar actionBar = ((ActionBarActivity)getActivity()).getSupportActionBar;

但他们都没有工作。

package com.example.campusinfo;

import android.graphics.Typeface;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.widget.TextView;

public class ActivityTab extends FragmentActivity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tab);

        getSupportActionBar().setBackgroundDrawable(new ColorDrawable(0xff1699d1));
        getSupportActionBar().setDisplayShowTitleEnabled(false);
        getSupportActionBar().setCustomView(R.layout.title_activity);
        getSupportActionBar().setDisplayShowCustomEnabled(true);

        TextView tv = (TextView) findViewById(R.id.activity_title);
        tv.setTextSize(35f);
        Typeface face = Typeface.createFromAsset(getAssets(), "fonts/capriola.ttf");
        tv.setTypeface(face);
    }

}

2 个答案:

答案 0 :(得分:4)

只需展开ActionBarActivity,即可完成您想做的所有事情

答案 1 :(得分:0)

使用ActionBarActivity然后将多态性用于您要使用的其他内容FragmentActivity