5

I hatayı alıyorumActionBarCompat 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)); 
    } 
} 
. 
. 
. 
} 

bana yardım edin "yöntemi getSupportActionBar() tipi MainActivity için tanımlanmamış". SetHomeButtonEnabled() desteği var mı?

Hangisi daha iyi ActionBarCompat veya ActionBarSherlock?

cevap

4

Uygulama getSupportActionBar()'u kullanırken etkinliğiniz ActionBarActivity'dan uzatılmalıdır. İçe aktarma işleminde gördüğüm gibi eklediğiniz Destek Paketi'nde tanımlanmıştır.

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

Sınıfınız gerekiyor ActionBarActivity uzanır. ActionBarActivity nedeniyle FragmentActivity, Fragments'ı kullanabilirsiniz.

+0

Bu, android API'ye uygun olarak doğru cevap – zest