Changer le Comte de ViewPager
Comment débloquer la capacité de glisser vers une nouvelle page après avoir cliqué sur un bouton sur une page précédente?
Actuellement, j'ai un PagerAdapter. Le code ci-dessous instancie l'objet. Dans le getCount(), une valeur de 3 est retourné et ainsi de 3 diapositives sont faites. Je me demandais si il y avait un moyen d'avoir seulement 3 points de vue, mais après avoir cliqué sur un bouton de déverrouillage d'un 4ème point de vue que vous pouvez maintenant faire glisser?
@Override
public Object instantiateItem(final View collection, int position) {
final LayoutInflater inflater = (LayoutInflater) TViewPager.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
TextView tv = new TextView(TViewPager.this);
//Describe the separate layouts of views
switch (position) {
case 1:
View v1 = inflater.inflate(R.layout.expander2, null, false);
((ViewPager) collection).addView(v1, 0);
final Button button = (Button) findViewById(R.id.button_click_me);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v1) {
Toast.makeText(getBaseContext(), "+1", Toast.LENGTH_LONG).show();
//*Some code*//
}
});
return v1;
Est-il un moyen de changer l':
public int getCount() {
return 3;
}
Comme un "setCount()" et puis le placer à l' //* du code *//pour augmenter la quantité de diapositives?
Serait l'ajout de
instantiateItem(collection,4);
travail quelque part travailler?
Merci,
OriginalL'auteur d.mc2 | 2012-02-21
Vous devez vous connecter pour publier un commentaire.
Voici comment j'ai résolu ce problème. Pour clarifier, comment voulez-vous cliquez sur un bouton et obtenir plus de Pages que vous pouvez faire défiler. J'ai fait:
et puis j'ai changé une ligne importante.
Mon clickListener est
J'ai ajouté un autre cas afin de faciliter le nouvel élément. Ensuite quand je clique sur le bouton, mon pageadapter sera étendue à 3 points de vue au lieu de 2 et le nouveau cas sera le nouveau point de vue.
OriginalL'auteur d.mc2
getCount
par défaut renvoie le nombre d'enfant du point de vue de votre ViewPager. En faisantpager.add(layout_item)
vous pouvez ajouter un nouvel élément à la pager (bien sûr, vous avez à gonfler quelque part en premier).getCount
ajustera automatiquement.Avez-vous un
notifyDatasetChanged()
J'ai essayé, mais il se bloque. aurais-je le faire ((ViewPager) de la collection).notifyDatasetChanged() tous à l'intérieur de l'écouteur de clics. Aussi est-il d'ajouter ou de addview et sur l'objet qui n'ces méthodes appartiennent, de la collection?
OriginalL'auteur josephus