2013-07-19 4 views
0

Я делаю просмотр пейджера, чтобы сделать слайд-шоу для изображений. Я взял код от разработчиков Android, но мне пришлось столкнуться с некоторыми проблемами, фрагмент не был распознан, я думаю, это потому, что мой Android был 2,33. Итак, чтобы решить, что я импортировал файл jar android.support.v4.jar Мои проблемы были устранены, но теперь я получаю эту ошибку, что getfragmentmanager() не определен и еще одна проблема «Метод invalidateOptionsMenu() не определен для типа new ViewPager.SimpleOnPageChangeListener() {} "метод getfragmentmanager() не определен

Вот мой код, может ли кто-нибудь помочь? Моя платформа 2.3.3 и уровень АФИ 10 и в манифесте У меня есть эта

<uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="15" /> 

Код:

package com.example.profilemanagment; 

import android.support.v4.app.Fragment; 
import android.support.v4.app.*; 
import android.content.Intent; 
import android.os.Bundle; 

import android.support.v4.app.FragmentActivity; 
import android.support.v4.app.NavUtils; 
import android.support.v4.view.PagerAdapter; 
import android.support.v4.view.ViewPager; 
import android.view.Menu; 
import android.view.MenuItem; 



public class ScreenSlideActivity extends FragmentActivity { 
    /** 
    * The number of pages (wizard steps) to show in this demo. 
    */ 
    private static final int NUM_PAGES = 5; 

    /** 
    * The pager widget, which handles animation and allows swiping horizontally to access previous 
    * and next wizard steps. 
    */ 
    private ViewPager mPager; 

    /** 
    * The pager adapter, which provides the pages to the view pager widget. 
    */ 
    private PagerAdapter mPagerAdapter; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_screen_slide); 

     // Instantiate a ViewPager and a PagerAdapter. 
     mPager = (ViewPager) findViewById(R.id.pager); 
     mPagerAdapter = new ScreenSlidePagerAdapter(getFragmentManager()); 
     mPager.setAdapter(mPagerAdapter); 
     mPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { 
      @Override 
      public void onPageSelected(int position) { 
       // When changing pages, reset the action bar actions since they are dependent 
       // on which page is currently active. An alternative approach is to have each 
       // fragment expose actions itself (rather than the activity exposing actions), 
       // but for simplicity, the activity provides the actions in this sample. 
       invalidateOptionsMenu(); 
      } 
     }); 
    } 




    /** 
    * A simple pager adapter that represents 5 {@link ScreenSlidePageFragment} objects, in 
    * sequence. 
    */ 
    private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter { 
     public ScreenSlidePagerAdapter(FragmentManager fm) { 
      super(fm); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      return ScreenSlidePageFragment.create(position); 
     } 

     @Override 
     public int getCount() { 
      return NUM_PAGES; 
     } 
    } 
} 
+2

использовать 'getSupportFragmentManager()'. – Raghunandan

ответ

4

Цитирование из документации.

При использовании этого класса (FragmentActivity) в отличие от встроенной поддержки и поддержки загрузчика новой платформы, вы должны использовать методы getSupportFragmentManager() и getSupportLoaderManager() соответственно для доступа к этим функциям.

Поскольку вы расширяете FragmentActivity использование getSupportFragmentManager()

http://developer.android.com/reference/android/support/v4/app/FragmentActivity.html

Проверьте документы

FragmentActivity не getFragmentManager()

+0

как насчет invalidateOptionsMenu() ?? должен также добавить поддержку? –

+0

проверить документы. – Raghunandan

+0

public void invalidateOptionsMenu() Добавлено в уровень API 11 Заявить, что меню параметров изменилось, поэтому его следует воссоздать. Метод onCreateOptionsMenu (Menu) будет вызываться в следующий раз, когда его нужно будет отобразить. http://developer.android.com/reference/android/app/Activity.html#invalidateOptionsMenu() – Raghunandan