0

我将 AutoCompleteTextView 附加到我的视图中,并使用 ArrayAdapter 填充项目列表。但我不知道如何为 AutocompleteTextView 下拉项目添加页眉和页脚视图。

我知道我们可以在列表视图中添加页眉和页脚。

有什么建议么 ?

4

3 回答 3

1

在 AutoCompleteTextView 上,您无法直接访问 DropDownListView,这就是为什么您不能在此处添加页眉和页脚视图的原因。

解决您的问题的方法是在列表中使用 2 种类型的视图,并将第一行/最后一行设置为具有页眉/页脚的布局。这可以在您自己创建的适配器上完成。

以下是有关如何为列表视图中的不同行提供不同布局的一些信息: Android ListView with different layouts for each row

于 2012-06-25T11:44:13.433 回答
0

Android 提供了 addHeaderView(View v) 和 addFooterView(View v) 等方法来定义 ListView 的页眉和页脚。

要找到您问题的答案,我可以向您推荐 Android:将静态标题添加到 ListActivity 的顶部

祝你好运!

于 2012-06-25T11:11:59.227 回答
-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;
    }
}

其中自动完成函数应返回字符串的数组列表

于 2013-02-23T10:07:11.363 回答