5

Dostaję błąd „Metoda getSupportActionBar() jest niezdefiniowane za główną działalność typu”ActionBarCompat w FragmentActivty

import android.app.FragmentTransaction; 
import android.os.Bundle; 
import android.support.v7.app.ActionBar; 
import android.support.v7.app.ActionBar.Tab; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 
import android.support.v4.view.ViewPager; 
public class MainActivity extends FragmentActivity implements ActionBar.TabListener { 

AppSectionsPagerAdapter mAppSectionsPagerAdapter; 

ViewPager mViewPager; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    mAppSectionsPagerAdapter = new AppSectionsPagerAdapter(getSupportFragmentManager()); 


    final ActionBar actionBar = getSupportActionBar(); 


    //actionBar.setHomeButtonEnabled(false); 


    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 


    mViewPager = (ViewPager) findViewById(R.id.pager); 
    mViewPager.setAdapter(mAppSectionsPagerAdapter); 
    mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { 
     @Override 
     public void onPageSelected(int position) { 

      actionBar.setSelectedNavigationItem(position); 
     } 
    }); 

    for (int i = 0; i < mAppSectionsPagerAdapter.getCount(); i++) { 
     actionBar.addTab(
       actionBar.newTab() 
         .setText(mAppSectionsPagerAdapter.getPageTitle(i)) 
         .setTabListener(this)); 
    } 
} 
. 
. 
. 
} 

proszę mi pomóc. Czy funkcja setHomeButtonEnabled() obsługuje?

Co jest lepsze ActionBarCompat lub ActionBarSherlock?

Odpowiedz

4

Podczas korzystania z aplikacji getSupportActionBar() Twoja aktywność musi się rozciągać od ActionBarActivity. Jest zdefiniowany w Pakiecie Wsparcia, który już dodałeś, jak widzę w twoim imporcie.

public class MainActivity extends ActionBarActivity 
          implements ActionBar.TabListener { 
    // your code goes here 
} 
8

Twoja klasa musi rozciąga ActionBarActivity. Z powodu ActionBarActivity rozciąga się od FragmentActivity, możesz użyć Fragmentów.

+0

To odpowiednia odpowiedź zgodnie z API Androida – zest

Powiązane problemy