2

我正在嘗試遵循Google的材質設計指南,因此我想使用新的工具欄而不是舊的ActionBar。但是,如何將其設置在我的活動中? MainActivity有兩個可以左右滑動的屏幕。無法添加Android材質設計工具欄

未找到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); 
    } 
} 
+1

使用AppCompatActivity而不是FragmentActivity –

回答

1

的問題是,要擴展FragmentActivity嘗試將其更改爲AppCompatActivity

其更改如下

public class MainActivity extends AppCompatActivity { 

不要忘了導入

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

閱讀this它可能會幫助你理解爲什麼:)

+0

謝謝,發現它。但它沒有回來。該方法根本不存在於FragmentActivity – Matthias

+0

你應該標記爲正確的任何答案...因爲你有正確的方法來解決你的問題:P –

2
public class MainActivity extends FragmentActivity { 

你應該擴展AppCompatActivity類,作爲FragmentActivity類不具備setSupportActionBar(Toolbar)方法。但它的確有setActionBar(Toolbar),但該方法預計會使用Toolbar的non-support-v7版本。