2017-02-16 3 views
0

良い一日内のフラグメントには、FragmentStatePagerAdapter

をonClickListener実装私は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'はビューでのみ使用されます!あなたはそれを '断片 'でどのように使うのでしょうか?また 'gallery of images'を実装したいのであれば、なぜ' PagerAdapter'を使っているのですか? 'RecyclerView'を使わないのはなぜですか? –

+0

あなたはカスタム 'Fragment'を持っていますか?はいの場合は、私たちを見せてください。 –

+0

フラグメントにはレイアウトがあります。そこに任意のビュー(ルートビューなど)を選択して、 'setOnClickListener'を処理することができます – leobelizquierdo

答えて

-1

イメージギャラリーアイテムが独自のライフサイクルを持つ必要がない場合は、フラグメントとFragmentStatePagerAdapterを使用しないでください。たとえば、hereのように、適切なアダプタでRecyclerViewを使用します。

関連する問題