這是我的解決方案。
public class CustomAutoCompleteTextView extends AutoCompleteTextView {
public CustomAutoCompleteTextView(Context context) {
this(context, null);
// TODO Auto-generated constructor stub
}
public CustomAutoCompleteTextView(Context context, AttributeSet attrs) {
this(context, attrs, android.R.attr.autoCompleteTextViewStyle);
}
public CustomAutoCompleteTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean enoughToFilter() {
// TODO Auto-generated method stub
return true;
}
}
public class SearchSuggestionAdapter extends ArrayAdapter<SearchObject>
{
.......
@Override
public Filter getFilter() {
// TODO Auto-generated method stub
Filter filter = new Filter() {
String keyword;
@Override
public CharSequence convertResultToString(Object resultValue) {
// TODO Auto-generated method stub
return keyword;
}
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
// TODO Auto-generated method stub
if(results.values != null)
notifyDataSetChanged();
else
notifyDataSetInvalidated();
}
@Override
protected FilterResults performFiltering(CharSequence constraint) {
// TODO Auto-generated method stub
keyword = constraint.toString();
final FilterResults filterResults = new FilterResults();
filterResults.values = mList;
filterResults.count = mList.size();
return filterResults;
};
return filter;
}
}
因爲我從服務器獲取數據。所以在performFiltering
,我只是返回一個非空對象。
希望對你有幫助。
,你必須做一些錯誤的,因爲通常ACTV犯規解僱[AutoCompleteTextView隱藏和適配器上的變化顯示下拉(的下拉 – pskink
可能重複http://stackoverflow.com/questions/11010442/autocompletetextview-hide-and-show-dropdown-on-adapter-change) – mixel
在這裏看到我的解決方案http://stackoverflow.com/questions/11010442/autocompletetextview-hide-and-show-dropdown-on-adapter-更改/ 31503409#31503409 – mixel