9

Próbuję zrobić ekran z podglądem i fragmentami, dzięki czemu mogę załadować różne układy na fragment i nadać każdej stronie inną funkcjonalność.Problemy z FragmentPagerAdapter

Wykonałem to, aby wykonać tutorial.

Błąd Dostaję po najechaniu public Fragment getItem(int arg0): Typ zwracany jest niezgodna z FragmentPagerAdapter.getItem(int)

i error # 2: Konstruktor FragmentPagerAdapter(FragmentManager) jest niezdefiniowany -> coraz to jeden po najechaniu super(fm);

package com.example.spui; 

import android.os.Bundle; 
import android.app.Fragment; 
import android.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 

public class MyFragmentPagerAdapter extends FragmentPagerAdapter{ 

    final int PAGE_COUNT = 5; 

    /** Constructor of the class */ 
    public MyFragmentPagerAdapter(FragmentManager fm) { 
     super(fm); 
    } 

    /** This method will be invoked when a page is requested to create */ 
    @Override 
    public Fragment getItem(int arg0) { 

     MyFragment myFragment = new MyFragment(); 
     Bundle data = new Bundle(); 
     data.putInt("current_page", arg0+1); 
     myFragment.setArguments(data); 
     return myFragment; 
    } 

    /** Returns the number of pages */ 
    @Override 
    public int getCount() { 
     return PAGE_COUNT; 
    } 
} 

Odpowiedz

30

Używasz niewłaściwego importu FragmentManager. Zamiast tego użyj android.support.v4.app.FragmentManager.

sam problem z Fragment - użyj android.support.v4.app.Fragment

Uwaga: jeśli budowania API11 + tylko aplikację i chcą korzystać z rodzimych fragmenty, a następnie należy zamiast zmienić import FragmentPagerAdapter do android.support.v13.app.FragmentPagerAdapter.

+0

Niesamowite !! Dzięki za bardzo szybką odpowiedź! To naprawiło moje błędy: D. czy możesz wskazać mi właściwy kierunek, aby użyć różnych układów dla każdej strony? A może powinienem zadać nowe pytanie na ten temat, ponieważ wciąż próbuję to sobie wyobrazić, Btw. "Możesz zaakceptować odpowiedź w 3 minuty" – mXX

+0

getItem może zwrócić dowolny Fragment, który chcesz - jeśli chcesz mieć zupełnie inną funkcjonalność na każdej stronie, po prostu zwróć inny Fragment na podstawie numeru strony. – ianhanniballake

+0

Czy robię to w MyFragment lub w MyFragmentPagerAdapter? Aktualizuję pytanie nową klasą, dzięki czemu można zobaczyć "MyFragment" Jaka jest różnica między obsługą v13 i v4? – mXX