android–RecyclerView适配器只显示第一项

android–RecyclerView适配器只显示第一项,第1张

概述我知道这个问题已被多次询问,但答案对我不起作用.我正在尝试使用水平放置.这是我的代码:publicclassCalendarDaysAdapterextendsRecyclerView.Adapter<CalendarDaysAdapter.MyViewHolder>{privateArrayList<String>list;publicCalendarDaysAdapter(ArrayList<

我知道这个问题已被多次询问,但答案对我不起作用.我正在尝试使用水平放置.这是我的代码:

public class CalendarDaysAdapter extends RecyclerVIEw.Adapter<CalendarDaysAdapter.MyVIEwHolder> {    private ArrayList<String> List;    public CalendarDaysAdapter(ArrayList<String> List)    {        this.List = List;    }    @OverrIDe    public MyVIEwHolder onCreateVIEwHolder(VIEwGroup parent, int vIEwType) {        VIEw itemVIEw = LayoutInflater.from(parent.getContext())                .inflate(R.layout.fragment_calendar_days_item, parent, false);        return new MyVIEwHolder(itemVIEw);    }    @OverrIDe    public voID onBindVIEwHolder(MyVIEwHolder holder, int position) {        String day = List.get(position);        holder.daystxt.setText(day);    }    @OverrIDe    public int getItemCount() {        return List.size();    }    public class MyVIEwHolder extends RecyclerVIEw.VIEwHolder {        public TextVIEw daystxt;        public MyVIEwHolder(VIEw vIEw) {            super(vIEw);            daystxt = (TextVIEw) vIEw.findVIEwByID(R.ID.daystxt);        }    }}

fragment_calendar_days_item xml:

<linearLayout    xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:orIEntation="vertical"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent">    <relativeLayout        androID:layout_wIDth="wrap_content"        androID:layout_height="50dp"        androID:gravity="center">        <TextVIEw            androID:ID="@+ID/daystxt"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:text="MON"            androID:textSize="20sp"/>    </relativeLayout></linearLayout>

我尝试了wrap_content – match_parent的每个组合,也在父Activity的RecyclerVIEw xml上,但只显示了第一个项目.我使用了断点来查看列表的数据是否存在,并且它们是.

那么我错过了什么?

解决方法:

将fragment_calendar_days_item的高度和宽度更改为androID:layout_height =“wrap_content”和androID:layout_wIDth =“wrap_content”

它会解决你的问题

<linearLayout    xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:orIEntation="vertical"    androID:layout_wIDth="wrap_content"    androID:layout_height="wrap_content">    <relativeLayout        androID:layout_wIDth="wrap_content"        androID:layout_height="50dp"        androID:gravity="center">        <TextVIEw            androID:ID="@+ID/daystxt"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:text="MON"            androID:textSize="20sp"/>    </relativeLayout></linearLayout>
总结

以上是内存溢出为你收集整理的android – RecyclerView适配器只显示第一项全部内容,希望文章能够帮你解决android – RecyclerView适配器只显示第一项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1099341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存