gpt4 book ai didi

java - 单个卡片 View 上的随机数量的 TextView 不起作用

转载 作者:行者123 更新时间:2023-12-02 09:36:22 26 4
gpt4 key购买 nike

我正在从网页中提取房间数据。房间名称和房间里的人。人数发生变化,我需要在单个卡片 View 上显示特定房间中的所有人员。

我尝试过很多不太好的想法。例如手动创建 16 个单独的 TextView 。 16 是房间内最多可容纳的人数。但是,当 arraylist 没有值时,我会收到 null fatal error 。

这是来自 main_activity。

if (!dd.isEmpty()){
Log.d("anoter check", String.valueOf(dd));
if (dd.size() != 15){
int intlvl = dd.size();
int newlvl = 15 - intlvl +1;
for (int i =0;i<newlvl;i++) {
dd.add(" ");
}
}

这是来 self 的 RecyclerViewAdapter.java

public void onBindViewHolder(ViewHolder holder, final int position) {
Log.d(TAG, "onBindViewHolder: called.");

List<String> dd = new ArrayList<>(Arrays.asList(mActionRooms.get(0).split(",")));
Log.d("anoter check", String.valueOf(dd));
if (dd.size() != 15){
int intlvl = dd.size();
int newlvl = 15 - intlvl +1;
for (int i =0;i<newlvl;i++) {
dd.add(" ");
}
}
holder.action_Rooms.setText(dd.get(0));
holder.action_Rooms1.setText(dd.get(1));
holder.action_Rooms2.setText(dd.get(2));
holder.action_Rooms3.setText(dd.get(3));
holder.action_Rooms4.setText(dd.get(4));
holder.action_Rooms5.setText(dd.get(5));
holder.action_Rooms6.setText(dd.get(6));
holder.action_Rooms7.setText(dd.get(7));
holder.action_Rooms8.setText(dd.get(8));
holder.action_Rooms9.setText(dd.get(9));
holder.action_Rooms10.setText(dd.get(10));
holder.action_Rooms11.setText(dd.get(11));
holder.action_Rooms12.setText(dd.get(12));
holder.action_Rooms13.setText(dd.get(13));
holder.action_Rooms14.setText(dd.get(14));
holder.action_Rooms15.setText(dd.get(15));
holder.action_Players1.setText(mRooms.get(position));}

public ViewHolder(View itemView) {
super(itemView);
action_Rooms15 = itemView.findViewById(R.id.action_Rooms);
action_Rooms14 = itemView.findViewById(R.id.action_Rooms1);
action_Rooms13 = itemView.findViewById(R.id.action_Rooms2);
action_Rooms12 = itemView.findViewById(R.id.action_Rooms3);
action_Rooms11 = itemView.findViewById(R.id.action_Rooms4);
action_Rooms10 = itemView.findViewById(R.id.action_Rooms5);
action_Rooms9 = itemView.findViewById(R.id.action_Rooms6);
action_Rooms8 = itemView.findViewById(R.id.action_Rooms7);
action_Rooms7 = itemView.findViewById(R.id.action_Rooms8);
action_Rooms6 = itemView.findViewById(R.id.action_Rooms9);
action_Rooms5 = itemView.findViewById(R.id.action_Rooms10);
action_Rooms4 = itemView.findViewById(R.id.action_Rooms11);
action_Rooms3 = itemView.findViewById(R.id.action_Rooms12);
action_Rooms2 = itemView.findViewById(R.id.action_Rooms13);
action_Rooms1 = itemView.findViewById(R.id.action_Rooms14);
action_Rooms = itemView.findViewById(R.id.action_Rooms15);
action_Players1 =itemView.findViewById(R.id.action_Players1);
parentLayout = itemView.findViewById(R.id.parent_layout);}

最佳答案

只需将单个 TextView 放入 RecyclerView 的项目中即可

在适配器中使用列表提供创建 TextView 的计数

每次有新人加入房间时,在列表中添加新数据并调用notifyDataSetChanged()

关于java - 单个卡片 View 上的随机数量的 TextView 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57477792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com