我在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;
答案 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();