Невозможно добавить панель инструментов Android Material Design

Я пытаюсь следовать рекомендациям Google по дизайну материалов, и поэтому я хотел бы использовать новую панель инструментов вместо старой панели действий. Но как мне установить это в моей деятельности? MainActivity имеет два экрана, которые можно проводить влево / вправо.

Метод setSupportActionBar не найден, и для setActionBar требуется другая версия панели инструментов. Любая идея?

package com.bla;

import android.support.design.widget.TabLayout;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import com.bla.ui.TabsPagerAdapter;


public class MainActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

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

        // does not work WTF!
        setSupportActionBar(toolbar);

        ViewPager pager = (ViewPager)findViewById(R.id.pager_list_views);
        TabsPagerAdapter pagerAdapter = new TabsPagerAdapter(getSupportFragmentManager(), this);
        pager.setAdapter(pagerAdapter);

        TabLayout tabLayout = (TabLayout) findViewById(R.id.sliding_tabs);
        tabLayout.setupWithViewPager(pager);
    }
}

2 ответа

Решение

Проблема в том, что вы расширяете FragmentActivity попробуйте изменить его на AppCompatActivity

Измените это следующим образом

public class MainActivity extends AppCompatActivity {

Не забудьте импортировать

import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;

Прочитайте это, это может помочь вам понять, почему:)

public class MainActivity extends FragmentActivity {

Вы должны расширять класс AppCompatActivity, так как класс FragmentActivity не имеет setSupportActionBar(Toolbar) метод. Это, однако, имеет setActionBar(Toolbar), но этот метод ожидает версию не-support-v7 Toolbar использоваться.

Другие вопросы по тегам