我使用RealmDB
作为我的Android Local Storage
。但是,过滤对我来说并不合适。例如:如果我在GOOGLE
中DB
google
,如果我查询Google
,它就不会显示出来。如果我google
,如果我查询BaseAdapter
同样的事情。除非名字输入得很好。我试图小写我自己的结果来过滤。一切都无济于事。我将AutoCompleteTextView
扩展为 @Override
public Filter getFilter() {
return new Filter() {
@Override
protected FilterResults performFiltering(CharSequence charSequence) {
return null;
}
@Override
protected void publishResults(CharSequence constraint, FilterResults filterResults) {
if (constraint != null) {
//String query = constraint.toString().toLowerCase();
mResult = filterStates(constraint.toString());
Log.e(TAG, "" + mResult.size());
notifyDataSetChanged();
} else {
notifyDataSetInvalidated();
}
}
};
}
@NonNull
private List<RealmOutlet> filterStates(String query) {
Realm mRealm = RealmUtils.getRealmInstance(mContext);
return mRealm.where(RealmOutlet.class)
/*.equalTo("channel", "distributor")
.equalTo("isSent", true)*/
.beginGroup()
.equalTo("name", query)
.or()
.contains("name", query)
.or()
.beginsWith("name", query)
.endGroup()
.findAll();
}
。
dr["FileName"]