getSupportActionBar()返回null,并且没有在activity中显示的操作栏

时间:2015-05-15 15:31:28

标签: android null android-actionbar android-support-library

我在Android中的支持操作栏有这个奇怪的问题..这是我的活动:

public class TicketDetails extends ActionBarActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTheme(R.style.AppTheme_BlueGrey);
        setContentView(R.layout.activity_ticket_details);
        ActionBar actionBar = getSupportActionBar();//null in here 
        //some other code
   }
//some other methods
}

我的主题定义如下:

<style name="AppTheme.BlueGrey" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/blue_grey_500</item>
        <item name="colorPrimaryDark">@color/blue_grey_700</item>
        <item name="colorAccent">@color/blue_grey_300</item>
</style>

minSdk设置为13,我在那里继续为null。可能是什么问题呢?我的其他活动工作得很好,但是这个活动没有操作栏,getSupportActionBar总是返回null。尝试在onStart或onResume中调用它但仍然相同。 谢谢!

[编辑]这是我的导入列表:

package ga.adlabs.betticket.activities;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.Menu;
import android.widget.LinearLayout;

import com.mikepenz.google_material_typeface_library.GoogleMaterial;
import com.mikepenz.iconics.IconicsDrawable;
import com.mikepenz.iconics.typeface.FontAwesome;

import java.util.ArrayList;

import ga.adlabs.betticket.R;
import ga.adlabs.betticket.fragments.FragmentDataProviderTicketDetails;
import ga.adlabs.betticket.fragments.FragmentTicketDetails;
import ga.adlabs.betticket.workers.AbstractDataProvider;
import ga.adlabs.betticket.workers.DataProviderTicketList;

1 个答案:

答案 0 :(得分:0)

您可以使用Material Design创建ActionBar(也使用Toolbar调用)。在setContentView()方法之后调用此代码:

Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar); // setting toolbar is important before calling getSupportActionBar()
ActionBar actionBar = getSupportActionBar();

请详细了解designing the app with Material Design