2016-04-25 109 views
0

在我的應用程序中,我在回收器視圖行中使用了片段視圖傳呼機。我這樣做是爲了顯示第一個片段中的主要內容,然後是一個片段容器中的一個刪除按鈕作爲第二個片段。出於某種原因,當我啓動我的應用程序時,我的視圖尋呼機僅在第一行中工作。有誰知道這可能是什麼原因造成的?我曾嘗試使用多個靜態行,但它只在第一個中起作用。這是我的看法回收適配器代碼:在回收站視圖行中使用視圖尋呼機?

  • 要注意,此回收視圖包含在視圖是位於片段內的另一個觀點尋呼機的一部分,這可能是重要的。

    public class FeaturesListAdapter extends RecyclerView.Adapter<FeaturesListAdapter.ViewHolder> { 
    
    public static final int NULL = -1; 
    
    public static final int NUMBER_OF_FEATURES = 2; 
    
    public static class ViewHolder extends RecyclerView.ViewHolder{ 
    
        RelativeLayout root; 
        ViewPager viewPager; 
    
        public ViewHolder(RelativeLayout container, SampleActivity activity) { 
         super(container); 
    
         root = container; 
         viewPager = (ViewPager) container.findViewById(R.id.view_pager); 
         viewPager.setAdapter(new FeatureCellPagerAdapter(activity.getSupportFragmentManager(), activity)); 
         viewPager.setCurrentItem(0); 
        } 
    } 
    
    final SampleActivity mActivity; 
    
    public FeaturesListAdapter(SampleActivity activity) { 
        mActivity = activity; 
    } 
    
    @Override 
    public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { 
        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.view_holder_features_list, viewGroup, false); 
        return new ViewHolder((RelativeLayout) view, mActivity); 
    } 
    
    @Override 
    public void onBindViewHolder(ViewHolder viewHolder, int i) { 
    } 
    
    @Override 
    public int getItemViewType(int position) { 
        return NULL; 
    } 
    
    
    @Override 
    public int getItemCount() { 
        return NUMBER_OF_FEATURES; 
    } 
    

    }

+0

你說你recyclerView和片段包含在另一個片段,我覺得你解決這個必須使用getChildFragmentManager()。因此,而不是新的FeatureCellPagerAdapter(activity.getSupportFragmentManager(),activity));嘗試新的FeatureCellPagerAdapter(yourOuterFragment.getChildFragmentManager(),activity)); – ElDuderino

+0

我發佈後立即看到了這一點,雖然我只是試了一下,它不起作用 –

+0

我也嘗試添加像20個視圖,它應用viewpager第一個可見片段,但不是所有的人.. –

回答

2

我面對這個問題,並通過集ID爲每個ViewPager :)

+0

你救了我的一天!感謝您的解決方案! :) –

相關問題