2017-02-16 6 views
0

Guten Tag,Implementieren OnClickListener auf Fragment innerhalb FragmentStatePagerAdapter

Ich habe ViewPager, und dies ist Adapter:

public abstract class GalleryImageAdapter extends FragmentStatePagerAdapter { 

    private List<? extends UrlItem> images = new ArrayList<>(); 

    public GalleryImageAdapter(FragmentManager fm, List<? extends UrlItem> images) { 
     super(fm); 
     this.images = images; 
    } 

    @Override 
    public Fragment getItem(int position) { 
     return giveFragment(images, position); 
    } 

    public abstract Fragment giveFragment(List<? extends UrlItem> images, int position); 

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

    @Override 
    public Object instantiateItem(ViewGroup collection, int position) { 
     Fragment fragment = (Fragment) super.instantiateItem(collection, position); 
     return fragment; 
    } 
} 

Ich habe eine ViewPager, die Galerie von Bildern darstellt. Ich würde gerne klicken Sie auf aktuelle ausgewählte Kind (Fragment) in ViewPager.

Ich habe etwas über instantiateItem gefunden, aber nichts über die Handhabung von Klicks in FragmentStatePagerAdapter. Ich habe das Fragment in diesem Verfahren aber .setOnClickListener nicht

+0

'setOnClickListener' wird nur mit Views verwendet! wie du es auf einem "Fragment" anwenden würdest. Wenn Sie "Bildergalerie" verwenden möchten, warum verwenden Sie einen 'PagerAdapter', warum verwenden Sie kein' RecyclerView'! –

+0

Haben Sie ein benutzerdefiniertes 'Fragment'? Wenn ja, zeig uns bitte. –

+0

Das Fragment hat ein Layout, Sie können dort eine beliebige Ansicht auswählen (vielleicht die Stammansicht) und 'setOnClickListener' behandeln – leobelizquierdo

Antwort

-1

gefunden Wenn es nicht für Ihre Fotogalerie Elemente benötigen ihre eigenen Lebenszyklus haben (und ich könnte mir vorstellen, dass es nicht), verwenden Sie keine Fragmente und FragmentStatePagerAdapter. Verwenden Sie einen RecyclerView mit dem entsprechenden Adapter, wie z. B. here.

Verwandte Themen