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; }
}
你說你recyclerView和片段包含在另一個片段,我覺得你解決這個必須使用getChildFragmentManager()。因此,而不是新的FeatureCellPagerAdapter(activity.getSupportFragmentManager(),activity));嘗試新的FeatureCellPagerAdapter(yourOuterFragment.getChildFragmentManager(),activity)); – ElDuderino
我發佈後立即看到了這一點,雖然我只是試了一下,它不起作用 –
我也嘗試添加像20個視圖,它應用viewpager第一個可見片段,但不是所有的人.. –