Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我的RecyclerView内部表格仅显示一项_Android_Android Recyclerview_Android Viewpager_Android Tablayout - Fatal编程技术网

Android 我的RecyclerView内部表格仅显示一项

Android 我的RecyclerView内部表格仅显示一项,android,android-recyclerview,android-viewpager,android-tablayout,Android,Android Recyclerview,Android Viewpager,Android Tablayout,我的表格布局中有许多选项卡,但每个选项卡上只包含一个项目。它显示数据列表大小大于1,并且myRecyclerView项目高度为wrap\u content 下面是我如何生成选项卡的 TabPagerAdapter adapter = new TabPagerAdapter(getSupportFragmentManager()); for (Plan plan: offersPojo.getPlans()){ if (plan.getPlan().getE

我的
表格布局中有许多选项卡,但每个选项卡上只包含一个项目。它显示数据列表大小大于1,并且my
RecyclerView
项目高度为
wrap\u content

下面是我如何生成选项卡的

TabPagerAdapter adapter = new TabPagerAdapter(getSupportFragmentManager());
        for (Plan plan: offersPojo.getPlans()){
            if (plan.getPlan().getError() == null)
            adapter.addFragment(OffersItem.newInstance(plan), plan.getName());
        }
        viewPager.setAdapter(adapter);
我的
TabPagerAdapter

    public class TabPagerAdapter extends FragmentPagerAdapter {

    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public TabPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        return mFragmentList.get(position);
    }

    @Override
    public int getCount() {
        return mFragmentList.size();
    }

    public void addFragment(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return mFragmentTitleList.get(position);
    }
}
public class OffersItemAdapter extends RecyclerView.Adapter<OffersItemAdapter.MyViewHolder> {

    List<Datum> data = null;
    Activity activity = null;


    public OffersItemAdapter(List<Datum> data, Activity activity) {
        this.data = data;
        this.activity = activity;
    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.offers_item, parent, false);
        return new MyViewHolder(v);
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        Datum itemData = data.get(position);
        holder.heading.setText(itemData.getRechargeShortdesc());
        holder.offerContent.setText(itemData.getRechargeLongdesc());
        holder.offerAmount.setText(itemData.getRechargeAmount());
        holder.offerValidity.setText(String.format("Validity: %s", itemData.getRechargeValidity()));
    }

    @Override
    public int getItemCount() {
            return data.size();
    }

    static class MyViewHolder extends RecyclerView.ViewHolder {

        @BindView(R.id.offerTextHead)
        TextView heading;
        @BindView(R.id.offerContent)
        TextView offerContent;
        @BindView(R.id.offerAmount)
        TextView offerAmount;
        @BindView(R.id.offerValidity)
        TextView offerValidity;
        public MyViewHolder(View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
        }

    }
}

我已调试,但数据列表大小大于1

这是我的错误。我将布局管理器的方向设置为水平而不是垂直。我知道这不是一个项目。但我把它和标签项目弄错了。很抱歉你投了反对票

所以我改变了

RecyclerView.LayoutManager mPMLayoutManger = new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false);


根据我的理解,您在回收器视图中一次只能看到一个,因为您将LayoutManger属性设置为水平,这意味着您可以水平滚动列表,因此您需要将布局管理器设置为垂直,如下所示:

RecyclerView.LayoutManager mPMLayoutManger = new LinearLayoutManager(getActivity());
 mRecyclerView.setLayoutManager(mPMLayoutManger);

在项目布局中设置要将内容包装到的宽度ConstraintLayout@Pavya不,它不起作用
RecyclerView.LayoutManager mPMLayoutManger = new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false);
RecyclerView.LayoutManager mPMLayoutManger = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
RecyclerView.LayoutManager mPMLayoutManger = new LinearLayoutManager(getActivity());
 mRecyclerView.setLayoutManager(mPMLayoutManger);