Невозможно создать вкладки на панели действий с помощью ActionBarActivity

Я абсолютный новичок в Android. Я собираюсь создать панель действий с вкладками. Но моя версия Android SDK слишком низкая. Поэтому я попытался использовать старый способ создания панели действий с вкладками с помощью ActionBarActivity. Я хочу знать и старые, и новые способы. Сейчас делаю вот так.

Мой класс активности

public class MainActivity extends ActionBarActivity {

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

        bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        for(int i = 1;i<=3;i++){
            ActionBar.Tab tab = bar.newTab();
            tab.setText("Tab" + i);
            bar.addTab(tab);
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

Стили.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
    </style>

</resources>

Но когда я запускаю свое приложение. Выдает ошибку. Что не так с моим кодом?


person Wai Yan Hein    schedule 20.01.2016    source источник
comment
Покажите нам ошибку logcat   -  person Virthuss    schedule 20.01.2016
comment
ActionBarActivity устарел. Используйте AppCompactActivity с ToolBar.   -  person Piyush    schedule 20.01.2016
comment
Я тоже хочу знать по-старому   -  person Wai Yan Hein    schedule 20.01.2016


Ответы (1)


Не используйте ActionBarActivity, так как он устарел.

И вы используете:

Theme.AppCompat.Light.DarkActionBar

с : ActionBarActivity

Измените его на AppCompatActivity в кодах Java (Activity).

Это должно решить проблему. и, конечно, если вы используете AppCompat:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbarmain);
        setSupportActionBar(toolbar);

похожие вопросы:

Android getActionBar vs getSupportActionBar?

person ʍѳђઽ૯ท    schedule 20.01.2016
comment
Мой текущий SDK слишком низкий. - person Wai Yan Hein; 20.01.2016
comment
да. Я это сделал. Раньше я не знал, как его обновить. Я абсолютный новичок. :) - person Wai Yan Hein; 20.01.2016
comment
Это обратно совместимо? - person Wai Yan Hein; 20.01.2016
comment
Да, если вы имеете в виду, что можете использовать AppCompat для предыдущих API, да. - person ʍѳђઽ૯ท; 20.01.2016
comment
Для низкой версии Android, например 4.2.2? - person Wai Yan Hein; 20.01.2016