【发布时间】:2016-04-25 15:55:12
【问题描述】:
在我的应用程序中,我在回收站视图行中使用了片段视图寻呼机。我这样做是为了在第一个片段中显示主要内容,然后在片段容器中显示删除按钮作为第二个片段。出于某种原因,当我启动我的应用程序时,我的视图寻呼机只在第一行工作。有谁知道这可能是什么原因造成的?我尝试过使用多个静态行,但它只适用于第一个。这是我的回收站视图适配器代码:
-
请注意,包含此回收器视图的视图是位于片段内的另一个视图分页器的一部分。
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() 。所以不是 new FeatureCellPagerAdapter(activity.getSupportFragmentManager(), activity));试试 new FeatureCellPagerAdapter(yourOuterFragment.getChildFragmentManager(), activity));
-
我在发布后立即看到了这个,虽然我只是尝试过它并没有用
-
我还尝试添加 20 个视图,它会将 viewpager 应用于第一个可见片段,但不是全部..
-
是的,我刚刚测试了这个,我得到了相同的结果,只有第一行有一个带有片段的 viewpager。而且我没有外部碎片,所以这不是原因。
-
会不会是我的xml有问题?
标签: android view fragment pager