2014-11-22 4 views
0

이 줄에는 오류가 표시됩니다. mPageAdapter = 새 PageAdapter (this.getSupportFragmentManager(), fragments); 및 오류 : getFragmentManager() 또는 create 메서드 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를 사용하려면 ProjectOverview를 FragmentActivity로 확장하십시오. 그것은 작동 할 것이다, 그것은 지원 라이브러리와 당신의 조각의 일부가 지원 라이브러리에서 가져와야한다. 추가 (선택) : 당신은 단지 새로운 장치의 사용을 목표로하는 경우이 귀하의 활동이 확장 FragmentActivity 그래서 당신은 getSupportFragmentManager() (오래된 장치)를 사용한다 (활동을 확장) : getFragmentManager()

+1

내가 FragmentActivity와 ProjectOverview을 추가 여전히 같은 문제를 온다. – Alam

+0

도움이 될 경우 답변 확인을 수정했습니다. – Unii