personList = addPersonList(); recyclerView = findViewById(R.id.rv_device); personAdapter = new PersonAdapter(personList,this); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setAdapter(personAdapter);当list中有多个对象时,为什么列表只显示一个item
时间: 2024-01-24 07:17:22 浏览: 58
【ASP.NET编程知识】Elasticsearch.Net使用入门教程(1).docx
可能是因为recyclerView没有正确地测量每个item的高度,导致只显示一个item。可以尝试在PersonAdapter中重写getItemViewType方法,确保返回不同类型的view来表示每个item,例如:
```
@Override
public int getItemViewType(int position) {
return position;
}
```
另外,也可以尝试在xml布局文件中给RecyclerView添加固定的高度,例如:
```
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_device"
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_marginTop="10dp" />
```
如果问题仍然存在,建议检查addPersonList()方法是否正确地添加了多个对象到list中,或者检查PersonAdapter中的getItemCount()方法是否正确地返回了list的大小。
阅读全文