0

ビューに AutoCompleteTextView をアタッチし、ArrayAdapter を使用してアイテムのリストを作成しました。しかし、AutocompleteTextView ドロップダウンの項目にヘッダーとフッター ビューを追加する方法がわかりません。

リストビューにヘッダーとフッターを追加できることは知っています。

助言がありますか ?

4

3 に答える 3

1

AutoCompleteTextView では、DropDownListView に直接アクセスできないため、そこにヘッダー ビューとフッター ビューを追加できません。

問題の解決策は、リストで 2 種類のビューを使用し、最初/最後の行をヘッダー/フッターのレイアウトに設定することです。これは、自分で作成したアダプタで実行できます。

リスト ビューの行ごとに異なるレイアウトを提供する方法に関する情報を次に示します。 行ごとに異なるレイアウトの Android ListView

于 2012-06-25T11:44:13.433 に答える
0

Android は、ListView のヘッダーとフッターを定義するために、addHeaderView(View v) や addFooterView(View v) などのメソッドを提供しました。

あなたの質問に対する答えを見つけるために、Android: Adding static header to top of a 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 に答える