2013-07-19 13 views
0

我正在製作視圖尋呼機爲圖像進行幻燈片放映。我從Android開發者處獲得代碼,但是我遇到了一些問題,片段沒有被識別,我認爲這是因爲我的android是2.33。所以要解決,我導入了一個jar文件android.support.v4.jar 我的問題已解決,但現在我得到這個錯誤,getfragmentmanager()未定義 和另一個問題「方法invalidateOptionsMenu()是未定義類型新ViewPager.SimpleOnPageChangeListener(){}「方法getfragmentmanager()未定義

這是我的代碼,可以任何一個請幫忙? 我的平臺是2.3.3和API度爲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