3

我正在開發由3個List碎片組成的Android應用程序。我正在使用ViewPager對象來讓用戶在片段之間滑動。我用碎片使用了相同的代碼。但當我改變它使用列表片段我得到一個錯誤GetItem(int)返回FragmentPagerAdapter中的Listfragment

the return type is incompatible with FragmentPagerAdapter.getItem(int) 

我在這裏呆了幾個小時。請幫助..

我的片段活動

public class PageViewActivity extends FragmentActivity { 
MyPageAdapter pageAdapter; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_page_view); 

    List<ListFragment> fragments = getFragments(); 

    pageAdapter = new MyPageAdapter(getSupportFragmentManager(), fragments); 

    ViewPager pager = (ViewPager)findViewById(R.id.viewpager); 
    pager.setAdapter(pageAdapter); 

} 

private List<ListFragment> getFragments(){ 
    List<ListFragment> fList = new ArrayList<ListFragment>(); 

    fList.add(AllMsgFragment.newInstance("Fragment 1")); 
    fList.add(ErrorMsgFragment.newInstance("Fragment 2")); 
    fList.add(SuccessMsgFragment.newInstance("Fragment 3")); 

    return fList; 
} 

和我FragmentPageAdapter

class MyPageAdapter extends FragmentPagerAdapter { 
private List<ListFragment> fragments; 

public MyPageAdapter(FragmentManager fm, List<ListFragment> fragments) { 
    super(fm); 
    this.fragments = fragments; 
} 
@Override 
public Fragment getItem(int position) {//The return type is incompatible with FragmentPagerAdapter.getItem(int) 
    return this.fragments.get(position); 
} 

@Override 
public int getCount() { 
    return this.fragments.size(); 
} 

@Override 
public CharSequence getPageTitle(int position) { 
    return "Page #" + (position + 1); 
} 

}

在此先感謝

+2

確保導入正確的類 「進口android.support.v4.app.ListFragment;」不要使用「import android.app.ListFragment;」或其他 – hieuxit

回答

6

最後,謝謝@hieuxit。更改

import android.app.ListFragment; 

import android.support.v4.app.ListFragment; 

解決了我的問題......

+0

你真棒的傢伙 – ROR

相關問題