0

Je conçois une application de constitution et je souhaite utiliser une mise en page à onglets avec vue de balayage. Les onglets récupèrent les données de la base de données à l'aide d'un adaptateur personnalisé. Puisque la taille des données (non du fragment) est inconnue, je veux que chaque balayage génère une nouvelle vue qui est le contenu du chapitre différent de la Constitution.Implémentation d'une vue de balayage à l'aide d'un fragment

Je veux quelque chose qui ressemble à l'application de dictionnaire ci-dessous, avec ces étiquettes de balayage des deux côtés. Je suis familier avec les onglets, mais j'aimerais avoir une ressource pour m'aider à y parvenir, puisque la plupart des documents que j'ai vus ne l'expliquent pas. Merci

enter image description here

+0

Rechercher viewpager – Nisarg

+0

C'est juste un viewpager. Vous pouvez obtenir la sortie désirée à l'aide du view pager. –

Répondre

0

Modifier avec votre débit désiré

onCreate

ArrayList<McqQuestionBean> mcqQuestionBeans= new ArrayList<McqQuestionBean>(); 
     adapter = new NewsFragmentPagerAdapter(getSupportFragmentManager(), 
       mcqQuestionBeans, MCQTestActivity.this); 
     pager.setAdapter(adapter); 

Adaptateur de base

public class NewsFragmentPagerAdapter extends FragmentStatePagerAdapter { 

private ArrayList<McqQuestionBean> mcqQuestionBeans; 

private McqQuestionFragment fragment; 
private Activity context; 

public NewsFragmentPagerAdapter(FragmentManager fm, ArrayList<McqQuestionBean> mcqQuestionBeans, Activity context) { 
    super(fm); 
    this.mcqQuestionBeans = mcqQuestionBeans; 

    this.context = context; 

} 

public void update(ArrayList<McqQuestionBean> mcqQuestionBeans) { 
    this.mcqQuestionBeans = mcqQuestionBeans; 
    notifyDataSetChanged(); 
} 

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

@Override 
public int getItemPosition(Object object) { 
    // TODO Auto-generated method stub 
    return super.getItemPosition(object); 
} 

@Override 
public Fragment getItem(int position) { 

    fragment = McqQuestionFragment.newInstance(mcqQuestionBeans.get(position), position, context); 

    return fragment; 

} 

} 

Votre Fragment McqQuestionFragment

public class McqQuestionFragment extends Fragment { 

private int position, porrefid; 
    private String question; 
    private ArrayList<McqQuestionChoiceBean> choices; 



@SuppressWarnings("unchecked") 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     position = getArguments().getInt("position"); 
     porrefid = getArguments().getInt("porrefid"); 
     userMarkedOn = getArguments().getInt("userMarkedOn"); 
     question = getArguments().getString("question"); 
     choices = (ArrayList<McqQuestionChoiceBean>) getArguments() 
       .getSerializable("choices"); 
    } 

    public static McqQuestionFragment newInstance(
      McqQuestionBean mcqQuestionBean, int position, Activity activity) { 
     final McqQuestionFragment f = new McqQuestionFragment(); 
     final Bundle args = new Bundle(); 
     args.putString("question", mcqQuestionBean.getQuestion()); 
     args.putInt("position", position); 
     args.putInt("userMarkedOn", mcqQuestionBean.getUserCorrectedOn()); 
     args.putSerializable("choices", mcqQuestionBean.getChoices()); 
     args.putInt("porrefid", mcqQuestionBean.getPorrefid()); 
     f.setArguments(args); 

     return f; 
    } 

}