我在过滤器列表视图中遇到了一些问题,比如,当退格过滤器,listview没有更新,当val搜索为null时,在这种情况下<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/ivnotification_layout"
android:background="#FFFFFF"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3"
>
<LinearLayout
android:id="@+id/layout1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="Date"
android:textSize="16sp"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/date"
android:ellipsize="none"
android:scrollHorizontally="false"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/layout2"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="Subject"
android:textSize="16sp"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/subject"
android:ellipsize="none"
android:layout_centerHorizontal="true"
android:scrollHorizontally="false"
/>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/layout3"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="Status"
android:textSize="16sp"
android:textStyle="bold"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:ellipsize="none"
android:scrollHorizontally="false"
android:maxLines="100"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/status"
/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
没有显示。这是我的代码:
Listview
那么如何解决呢?对不起我的英文
答案 0 :(得分:0)
试试这个解决方案,
如下所述进行更改
@Override
protected FilterResults performFiltering(CharSequence constraint) {
constraint = constraint.toString().toLowerCase().trim();
FilterResults result = new FilterResults();
if (constraint != null && constraint.toString().length() > 0) {
ArrayList<ListDataFriends> filteredItems = new ArrayList<ListDataFriends>();
for (int i = 0, l = OriginalData.size(); i < l; i++) {
ListDataFriends country = OriginalData.get(i);
if (country.getFullName().toLowerCase().contains(constraint))
filteredItems.add(country);
}
result.count = filteredItems.size();
result.values = filteredItems;
} else {
synchronized (this) {
result.values = OriginalData;
result.count = OriginalData.size();
}
}
return result;
}
关键更改是添加.trim()
constraint = constraint.toString().toLowerCase().trim();