9

Sto cercando di creare uno schermo con viewpager e frammenti in modo da poter caricare diversi layout per frammento e dare a ciascuna pagina funzionalità diverse.Problemi con FragmentPagerAdapter

Ho seguito uno tutorial per ottenere ciò.

L'errore che sto ottenendo quando si libra sopra public Fragment getItem(int arg0): il tipo di ritorno non è compatibile con FragmentPagerAdapter.getItem(int)

ed errore # 2: Il costruttore FragmentPagerAdapter(FragmentManager) è indefinito -> ottenere questo uno quando si libra 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; 
    } 
} 

risposta

30

Si sta utilizzando l'importazione errata FragmentManager. Utilizzare invece android.support.v4.app.FragmentManager.

stesso problema con Fragment - utilizzare android.support.v4.app.Fragment

Nota: se si sta costruendo un API11 + sola applicazione e si desidera utilizzare i Frammenti nativi, allora si dovrebbe invece cambiare la vostra FragmentPagerAdapter importazione android.support.v13.app.FragmentPagerAdapter.

+0

Fantastico !! Grazie per la risposta molto veloce! Questo ha risolto i miei errori: D. puoi indicarmi la direzione giusta per utilizzare layout diversi per ogni pagina? O dovrei fare una nuova domanda per questo, perché sto ancora cercando di capirlo? Btw. "Puoi accettare una risposta in 3 minuti" – mXX

+0

getItem può restituire qualsiasi frammento che desideri - se vuoi funzionalità completamente diverse su ogni pagina, restituisci un frammento diverso in base al numero di pagina. – ianhanniballake

+0

Lo faccio in MyFragment o in MyFragmentPagerAdapter? Aggiorno la domanda con una nuova classe in modo da poter visualizzare "MyFragment" Che differenza c'è tra il supporto v13 e v4? – mXX

Problemi correlati