gpt4 book ai didi

java - 为回收器适配器中的一个数组项膨胀两个 View

转载 作者:行者123 更新时间:2023-12-01 09:46:17 25 4
gpt4 key购买 nike

我有一个 cardView xml

我的模特是

enter image description here

我的适配器非常通用,附加代码显示错误,因此不附加它

我为适配器初始化了一个Arraylist

persons = new ArrayList<>();
persons.add(new Person("Emma Wilson", "25 years old", 1));
persons.add(new Person("Lavery Maiss", "27 years old", 2));
persons.add(new Person("Lillie Watts", "35 years old", 3));

如果age=25Emma Wilson这样的人,我想夸大查看(cardView.xml)两次

我无法更改ArrayList

我想使用适配器本身来完成此操作。这可能吗?如何做到?

最佳答案

您可以创建一个包含两次 cardView.xml 的 View 。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<include android:id="@+id/cv1" layout="@layout/card_view.xml" />
<include android:id="@+id/cv2" layout="@layout/card_view.xml" />

</LinearLayout>

然后在你的适配器中,

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Get the data item for this position
Person person = getItem(position);
// Check if an existing view is being reused, otherwise inflate the view
if (person.age == 25) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.twice.xml, parent, false);
}else{
convertView = LayoutInflater.from(getContext()).inflate(R.layout.once.xml, parent, false);
}

//populate views...


}

关于java - 为回收器适配器中的一个数组项膨胀两个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37992038/

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