5

「メソッド getSupportActionBar() はタイプ MainActivity に対して未定義です」というエラーが表示されます

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));
    }
}
.
.
.
}

私を助けてください。setHomeButtonEnabled() はサポートしていますか?

ActionBarCompat と ActionBarSherlock のどちらが優れていますか?

4

2 に答える 2

8

クラスはActionBarActivityを拡張する必要があります。ActionBarActivityは FragmentActivityから拡張されているため、Fragmentsを使用できます。

于 2013-09-05T11:22:31.430 に答える
4

アプリケーションが使用しgetSupportActionBar()ている場合、アクティビティは から拡張する必要がありますActionBarActivity。インポートで確認できるように、既に追加したサポート パッケージで定義されています。

public class MainActivity extends ActionBarActivity
                          implements ActionBar.TabListener {
    // your code goes here
}
于 2013-08-01T10:03:42.187 に答える