我将AutoCompleteTextView附加到我的视图中,并使用ArrayAdapter填充项目列表。但我不知道如何为AutocompleteTextView下拉项目添加页眉和页脚视图。
我知道我们可以在listview中添加页眉和页脚。
有什么建议吗?
答案 0 :(得分:1)
在AutoCompleteTextView上,您无法直接访问DropDownListView,这就是您无法在其中添加页眉和页脚视图的原因。
问题的解决方案是在列表中使用两种类型的视图,并将第一行/最后一行设置为具有页眉/页脚的布局。这可以在您自己创建的适配器上完成。
以下是有关如何为列表视图中的不同行提供不同布局的一些信息: Android ListView with different layouts for each row
答案 1 :(得分:0)
Android提供了类似addHeaderView(View v)和addFooterView(View v)的方法来定义ListViews的页眉和页脚。
要找到您问题的答案,我可以推荐您Android: Adding static header to the top of a ListActivity。
祝你好运!答案 2 :(得分:-1)
private class PlacesAutoCompleteAdapter extends ArrayAdapter<String> implements Filterable {
private ArrayList<String> resultList;
public PlacesAutoCompleteAdapter(Context context, int textViewResourceId) {
super(context, textViewResourceId);
}
@Override
public int getCount() {
return resultList.size();
}
@Override
public String getItem(int index) {
return resultList.get(index);
}
@Override
public Filter getFilter() {
Filter filter = new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
FilterResults filterResults = new FilterResults();
if (constraint != null) {
// Retrieve the autocomplete results.
resultList = autocomplete(constraint.toString());
// Assign the data to the FilterResults
filterResults.values = resultList;
filterResults.count = resultList.size();
}
return filterResults;
}
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
if (results != null && results.count > 0) {
notifyDataSetChanged();
}
else {
notifyDataSetInvalidated();
}
}};
return filter;
}
}
其中autocomplete函数应该返回字符串
的arraylist