我目前面临两个不同的问题。
1)我的回收商视图的最后一张卡根本不可见。
(我在相对布局中嵌入了我的RecyclerView。)
布局的目的是填充CoordinatorLayout内部片段的视图。 (我使用了Tabs,这是其中一个标签的布局。)
这是我的XML文件:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rlv"
tools:context=".TwoFragment">
<android.support.v7.widget.RecyclerView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="vertical"
android:listSelector="@drawable/list_row_selector" />
</RelativeLayout>
2)我遇到的第二个问题是我的RecyclerView无法处理大型数据集(我使用过自定义适配器)。它一直在崩溃。
只要我放置10个物体就可以了。当ObjectList包含30个或更多元素时,它会一直崩溃。
这是我的回收站视图的自定义适配器
public class ContactAdapter扩展了RecyclerView.Adapter {
private List<Contact> contactList;
public ContactAdapter(List<Contact> contactList) {
this.contactList = contactList;
}
@Override
public int getItemCount() {
return contactList.size();
}
@Override
public void onBindViewHolder(ContactViewHolder contactViewHolder, int i) {
Contact ci = contactList.get(i);
contactViewHolder.contactName.setText(ci.getContactName());
contactViewHolder.uniteName.setText(ci.getUniteName());
contactViewHolder.status.setText(ci.getStatus());
contactViewHolder.lastUpdated.setText(ci.getLastUpdated());
contactViewHolder.contactPicture.setImageBitmap(ci.getContactPicture());
}
@Override
public ContactViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View itemView = LayoutInflater.
from(viewGroup.getContext()).
inflate(R.layout.list_row, viewGroup, false);
return new ContactViewHolder(itemView);
}
public static class ContactViewHolder extends RecyclerView.ViewHolder{
protected TextView contactName;
protected TextView uniteName;
protected TextView status;
protected TextView lastUpdated;
protected CircleImageView contactPicture;
public ContactViewHolder(View v) {
super(v);
contactName = (TextView) v.findViewById(R.id.title);
uniteName = (TextView) v.findViewById(R.id.rating);
status = (TextView) v.findViewById(R.id.genre);
lastUpdated = (TextView) v.findViewById(R.id.releaseYear);
contactPicture = (CircleImageView) v.findViewById(R.id.thumbnail);
}
}
}
这个问题非常奇怪!如果有人可以帮助我,我会非常非常高兴!