我有 cardView xml
我的模特人
我的适配器非常通用,附加代码显示错误,因此不附加
我为适配器
初始化了一个Arraylistpersons = 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));
如果年龄= 25 ,如 Emma Wilson ,对于一个人,我想要充气 查看(cardView.xml)两次。
我无法更改 ArrayList 。
我想使用适配器本身。这是可能的,怎么做?
答案 0 :(得分:1)
您可以制作包含cardView.xml
两次的视图。
<?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...
}