Example usage for android.support.v4.widget CursorAdapter setFilterQueryProvider

List of usage examples for android.support.v4.widget CursorAdapter setFilterQueryProvider

Introduction

In this page you can find the example usage for android.support.v4.widget CursorAdapter setFilterQueryProvider.

Prototype

public void setFilterQueryProvider(FilterQueryProvider filterQueryProvider) 

Source Link

Document

Sets the query filter provider used to filter the current Cursor.

Usage

From source file:com.pindroid.fragment.AddBookmarkFragment.java

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    firstRun = savedInstanceState == null;

    setHasOptionsMenu(true);//from ww w  .java  2s .  com

    mEditUrl = ((FloatLabel) getView().findViewById(R.id.add_edit_url)).getEditText();
    mEditDescription = ((FloatLabel) getView().findViewById(R.id.add_edit_description)).getEditText();
    mDescriptionProgress = (ProgressBar) getView().findViewById(R.id.add_description_progress);
    mEditNotes = ((FloatLabel) getView().findViewById(R.id.add_edit_notes)).getEditText();
    mEditTags = (MultiAutoCompleteTextView) ((FloatLabel) getView().findViewById(R.id.add_edit_tags))
            .getEditText();
    mRecommendedTags = (TextView) getView().findViewById(R.id.add_recommended_tags);
    mPopularTags = (TextView) getView().findViewById(R.id.add_popular_tags);
    mPrivate = (CompoundButton) getView().findViewById(R.id.add_edit_private);
    mToRead = (CompoundButton) getView().findViewById(R.id.add_edit_toread);

    mRecommendedTags.setMovementMethod(LinkMovementMethod.getInstance());
    mPopularTags.setMovementMethod(LinkMovementMethod.getInstance());

    if (username != null) {
        CursorAdapter autoCompleteAdapter = new TagAutoCompleteCursorAdapter(getActivity(),
                R.layout.autocomplete_view, null, new String[] { Tag.Name, Tag.Count },
                new int[] { R.id.autocomplete_name, R.id.autocomplete_count }, 0);

        autoCompleteAdapter.setFilterQueryProvider(new FilterQueryProvider() {
            public Cursor runQuery(CharSequence constraint) {
                return TagManager.GetTagsAsCursor((constraint != null ? constraint.toString() : ""), username,
                        Tag.Count + " DESC, " + Tag.Name + " ASC", getActivity());
            }
        });

        mEditTags.setAdapter(autoCompleteAdapter);
        mEditTags.setTokenizer(new SpaceTokenizer());
    }

    mEditUrl.setOnFocusChangeListener(new OnFocusChangeListener() {
        public void onFocusChange(View v, boolean hasFocus) {
            if (!hasFocus) {
                String url = mEditUrl.getText().toString().trim();

                if (url != null && !url.equals("")) {
                    if (mEditDescription.getText().toString().equals("")) {
                        titleTask = new GetTitleTask().execute(url);
                    }
                    tagTask = new GetTagSuggestionsTask().execute(url);
                }
            }
        }
    });
}