ActionBar 不起作用?

ActionBar didn't work?

我的应用程序崩溃了,我得到了

错误:

setNavigationMode(int)' on a null object reference

代码:

package com.example.muhammad_adel.tabs;


import android.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    ActionBar actionBar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        actionBar = getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        actionBar.addTab(actionBar.newTab().setText("one"));
        actionBar.addTab(actionBar.newTab().setText("two"));
        actionBar.addTab(actionBar.newTab().setText("three"));
    }
}

更改 1: 而不是 import android.support.v4.app.ActionBar 在 activity

中使用 import android.support.v7.app.ActionBar

更改 2 : 将此 actionBar = getActionBar(); 更改为 actionbar = getSupportActionBar();

更新:

您必须使用 PagerSlidingTabStrip,因为 setNavigationMode 现在是 deprecated

我找到了解决方案感谢您的帮助

首先而不是导入 android.app.ActionBar => 导入 android.support.v7.app.ActionBar

第二次改变这个actionBar = getActionBar();至 actionbar = getSupportActionBar();

第三你必须实施TabListener

自从 ActionBar 被弃用 以来已经有很长时间了。

尝试使用 ToolbarSlidingTabs

同问请参考此回答。它将为您的查询提供足够的指导。

Android, Tabs without Actionbar

您可以轻松实现这一点,并且您可以轻松处理选项卡的 onClick() 事件。

你应该尝试改变你的parent风格

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">