2014-11-22 52 views
0

錯誤顯示在此行中:mPageAdapter = new PageAdapter(this.getSupportFragmentManager(),fragments);和錯誤是:更改爲getFragmentManager()或創建方法getSupportFragmentManager()但我已經完成但沒有工作。所以請任何人幫助我。什麼需要改變。片段中的ViewPager中的錯誤

// ProjectOverview類

public class ProjectOverview extends Activity { 
    private PageAdapter mPageAdapter; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) {   
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.viewpages_layout);  
     initialingpaging(); 
    } 

    private void initialingpaging() {   
      List<Fragment> fragments = new Vector<Fragment>(); 
      fragments.add(Fragment.instantiate(this, Fragment1.class.getName())); 
      fragments.add(Fragment.instantiate(this, Fragment2.class.getName())); 
      fragments.add(Fragment.instantiate(this, Fragment3.class.getName())); 
      mPageAdapter = new PageAdapter(this.getSupportFragmentManager(), fragments);    
      ViewPager pager = (ViewPager)findViewById(R.id.viewpager); 
      pager.setAdapter(mPageAdapter); 
     } 
} 

// PageAdapter類

public final class PageAdapter extends FragmentPagerAdapter { 
    private List<Fragment> fragments; 
    public PageAdapter(FragmentManager fm, List<Fragment> fragments) { 
     super(fm); 
     // TODO Auto-generated constructor stub 
     this.fragments = fragments;  
    } 
    @Override 
    public Fragment getItem(int arg0) { 
     // TODO Auto-generated method stub 
     return this.fragments.get(arg0); 
    } 

    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 
     return this.fragments.size(); 
    } 
} 

//viewpages_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <android.support.v4.view.ViewPager 
     android:id="@+android:id/viewpager" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/>  
</LinearLayout> 

//Fragment1.class

public class Fragment1 extends Fragment { 
    @Override 
    public View onCreateView(LayoutInflater inflater, 
      ViewGroup container, Bundle savedInstanceState) {  
     // TODO Auto-generated method stub 
     if(container == null) 
     { 
      return null; 
     } 
     return (LinearLayout) inflater.inflate(R.layout.fragment1_layout,container,false); 
    } 
} 

// Fragment2.class和Fragment3.class的相同代碼

回答

1

如果您想使用getSupportFragmentManager,請使用FragmentActivity擴展您的ProjectOverview。它會工作,這是支持庫的問題,你的碎片應該從支持庫導入。 添加(選中): 你的活動應該擴展FragmentActivity所以你可以用getSupportFragmentManager()(較老的設備上),如果你的目標只是新設備的使用(延伸活動):getFragmentManager()

+1

當我加入ProjectOverview與FragmentActivity還是同樣的問題談到。 – Alam 2014-11-22 16:14:46

+0

編輯答案檢查它是否會幫助你 – Unii 2014-11-24 07:56:39