2017-02-16 59 views
0

良好的一天,在片段实现OnClickListener,内FragmentStatePagerAdapter

我有ViewPager,这是适配器:

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; 
    } 
} 

我有一个ViewPager,表示图像的画廊。我想要处理在ViewPager中点击当前选定的孩子(片段)。

我发现了一些关于instantiateItem的内容,但没有说明如何处理FragmentStatePagerAdapter中的点击。我在这个方法中得到了片段,但是没有找到.setOnClickListener

+0

'setOnClickListener'仅用于视图!你如何在“片段”上使用它。另外,如果你想实现'图片库',你为什么要使用'PagerAdapter',为什么不使用'RecyclerView'! –

+0

你有一个自定义的“片段”?如果是,请告诉我们。 –

+0

该片段有一个布局,您可以选择任何视图(可能是根视图)并处理'setOnClickListener' – leobelizquierdo

回答

-1

如果您的图片库项目不需要它们拥有自己的生命周期(我想它不是),请不要使用Fragments和FragmentStatePagerAdapter。按照说明,使用适当的适配器使用RecyclerView,例如,here

相关问题