package suntone.lfo.com.suntonehelper.adapter;
import android.content.Context;
import android.view.View;
import android.widget.BaseAdapter;
import android.widget.Filter;
import com.lfo.suntone.db.Stock;
import java.util.ArrayList;
import java.util.List;
import suntone.lfo.com.suntonehelper.tool.Utils;
import suntone.lfo.com.suntonehelper.tool.WarehouseTool;
/**
* Created by user on 2015/3/28.
*/
//not used
public class ItemFilter extends Filter {
private List<Stock> list;
private BaseAdapter baseAdapter;
// private View view;
public ItemFilter(BaseAdapter baseAdapter, List<Stock> list){
// this.view=view;
this.list=list;
this.baseAdapter=baseAdapter;
}
private FilterResults results ;
@Override
protected FilterResults performFiltering(CharSequence constraint) {
//List<String> stringlist = WarehouseTool.instance.toNameList(list);
if(results==null){
results = new FilterResults();
}
if(constraint==null){
results.values=list;
results.count=list.size();
return results;
}
if(constraint.length() ==0){
results.values=list;
results.count=list.size();
return results;
}
//Utils.instance.log("constraint:"+String.valueOf(constraint));
List<Stock> returnlist= new ArrayList<Stock>();
for(Stock stock:list){
if(stock.getStocktype().getName().startsWith(String.valueOf(constraint))){
returnlist.add(stock);
}
}
//List<String> returnstringlist = WarehouseTool.instance.toNameList(returnlist);
results.values=returnlist;
results.count=returnlist.size();
return results;
}
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
// Now we have to inform the adapter about the new list filtered
if(results.count==0){
baseAdapter.notifyDataSetInvalidated();
}else{
baseAdapter.notifyDataSetChanged();
}
}
@Override
public CharSequence convertResultToString(Object resultValue) {
if (resultValue==null){
return "沒有名稱";
}
Stock s = (Stock) resultValue;
return s.getStocktype().getName();
}
}
沒有留言:
張貼留言