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

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

Introduction

In this page you can find the example usage for android.support.v4.widget SimpleCursorAdapter 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:de.aw.monma.views.MonMaAutoCompleteTextView.java

@Override
protected void onFinishInflate() {
    super.onFinishInflate();
    if (!initializedCalled && !isInEditMode()) {
        throw new IllegalStateException(
                "Method 'initialize(AWDBDefinition, String, " + "String[], int, String)' not called");
    }/* w ww . j  av a2  s  .  com*/
    SimpleCursorAdapter mSimpleCursorAdapter = new SimpleCursorAdapter(getContext(),
            android.R.layout.simple_dropdown_item_1line, null, mProjection, new int[] { android.R.id.text1 },
            0) {
        @Override
        public CharSequence convertToString(Cursor cursor) {
            return cursor.getString(0);
        }
    };
    mSimpleCursorAdapter.setFilterQueryProvider(this);
    setAdapter(mSimpleCursorAdapter);
}

From source file:com.google.android.apps.mytracks.fragments.AddEmailsDialogFragment.java

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    fragmentActivity = getActivity();//from   w  w  w .  jav a  2  s. co  m
    View view = fragmentActivity.getLayoutInflater().inflate(R.layout.add_emails, null);
    multiAutoCompleteTextView = (MultiAutoCompleteTextView) view.findViewById(R.id.add_emails);
    multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

    SimpleCursorAdapter adapter = new SimpleCursorAdapter(fragmentActivity, R.layout.add_emails_item,
            getCursor(fragmentActivity, null),
            new String[] { ContactsContract.Contacts.DISPLAY_NAME,
                    ContactsContract.CommonDataKinds.Email.DATA },
            new int[] { android.R.id.text1, android.R.id.text2 }, 0);
    adapter.setCursorToStringConverter(new SimpleCursorAdapter.CursorToStringConverter() {
        @Override
        public CharSequence convertToString(Cursor cursor) {
            int index = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA);
            return cursor.getString(index).trim();
        }
    });
    adapter.setFilterQueryProvider(new FilterQueryProvider() {
        @Override
        public Cursor runQuery(CharSequence constraint) {
            return getCursor(fragmentActivity, constraint);
        }
    });
    multiAutoCompleteTextView.setAdapter(adapter);

    return new AlertDialog.Builder(fragmentActivity).setNegativeButton(R.string.generic_cancel, null)
            .setPositiveButton(R.string.generic_ok, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    String acl = multiAutoCompleteTextView.getText().toString();
                    caller.onAddEmailsDone(acl);
                }
            }).setTitle(R.string.share_track_add_emails_title).setView(view).create();
}

From source file:br.com.bioscada.apps.biotracks.fragments.ShareTrackDialogFragment.java

@Override
protected Dialog createDialog() {
    FragmentActivity fragmentActivity = getActivity();
    accounts = AccountManager.get(fragmentActivity).getAccountsByType(Constants.ACCOUNT_TYPE);

    if (accounts.length == 0) {
        return new AlertDialog.Builder(fragmentActivity).setMessage(R.string.send_google_no_account_message)
                .setTitle(R.string.send_google_no_account_title).setPositiveButton(R.string.generic_ok, null)
                .create();/*from w  w  w  .j  a  va2s.  c  om*/
    }

    // Get all the views
    View view = fragmentActivity.getLayoutInflater().inflate(R.layout.share_track, null);
    publicCheckBox = (CheckBox) view.findViewById(R.id.share_track_public);
    inviteCheckBox = (CheckBox) view.findViewById(R.id.share_track_invite);
    multiAutoCompleteTextView = (MultiAutoCompleteTextView) view.findViewById(R.id.share_track_emails);
    accountSpinner = (Spinner) view.findViewById(R.id.share_track_account);

    // Setup publicCheckBox
    publicCheckBox.setChecked(PreferencesUtils.getBoolean(fragmentActivity, R.string.share_track_public_key,
            PreferencesUtils.SHARE_TRACK_PUBLIC_DEFAULT));

    // Setup inviteCheckBox
    inviteCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            multiAutoCompleteTextView.setVisibility(isChecked ? View.VISIBLE : View.GONE);
        }
    });
    inviteCheckBox.setChecked(PreferencesUtils.getBoolean(fragmentActivity, R.string.share_track_invite_key,
            PreferencesUtils.SHARE_TRACK_INVITE_DEFAULT));

    // Setup multiAutoCompleteTextView
    multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(fragmentActivity, R.layout.add_emails_item,
            getAutoCompleteCursor(fragmentActivity, null),
            new String[] { ContactsContract.Contacts.DISPLAY_NAME,
                    ContactsContract.CommonDataKinds.Email.DATA },
            new int[] { android.R.id.text1, android.R.id.text2 }, 0);
    adapter.setCursorToStringConverter(new SimpleCursorAdapter.CursorToStringConverter() {
        @Override
        public CharSequence convertToString(Cursor cursor) {
            int index = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA);
            return cursor.getString(index).trim();
        }
    });
    adapter.setFilterQueryProvider(new FilterQueryProvider() {
        @Override
        public Cursor runQuery(CharSequence constraint) {
            return getAutoCompleteCursor(getActivity(), constraint);
        }
    });
    multiAutoCompleteTextView.setAdapter(adapter);

    // Setup accountSpinner
    accountSpinner.setVisibility(accounts.length > 1 ? View.VISIBLE : View.GONE);
    AccountUtils.setupAccountSpinner(fragmentActivity, accountSpinner, accounts);

    return new AlertDialog.Builder(fragmentActivity).setNegativeButton(R.string.generic_cancel, null)
            .setPositiveButton(R.string.generic_ok, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    FragmentActivity context = getActivity();
                    if (!publicCheckBox.isChecked() && !inviteCheckBox.isChecked()) {
                        Toast.makeText(context, R.string.share_track_no_selection, Toast.LENGTH_LONG).show();
                        return;
                    }
                    String acl = multiAutoCompleteTextView.getText().toString().trim();
                    if (!publicCheckBox.isChecked() && acl.equals("")) {
                        Toast.makeText(context, R.string.share_track_no_emails, Toast.LENGTH_LONG).show();
                        return;
                    }
                    PreferencesUtils.setBoolean(context, R.string.share_track_public_key,
                            publicCheckBox.isChecked());
                    PreferencesUtils.setBoolean(context, R.string.share_track_invite_key,
                            inviteCheckBox.isChecked());
                    Account account = accounts.length > 1 ? accounts[accountSpinner.getSelectedItemPosition()]
                            : accounts[0];
                    AccountUtils.updateShareTrackAccountPreference(context, account);
                    caller.onShareTrackDone(getArguments().getLong(KEY_TRACK_ID), publicCheckBox.isChecked(),
                            acl, account);
                }
            }).setTitle(R.string.share_track_title).setView(view).create();
}

From source file:org.gnucash.android.ui.transaction.TransactionFormFragment.java

/**
 * Initializes the transaction name field for autocompletion with existing transaction names in the database
 *///from ww  w .  ja  v  a 2 s.co m
private void initTransactionNameAutocomplete() {
    final int[] to = new int[] { android.R.id.text1 };
    final String[] from = new String[] { DatabaseHelper.KEY_NAME };

    SimpleCursorAdapter adapter = new SimpleCursorAdapter(getActivity(),
            android.R.layout.simple_dropdown_item_1line, null, from, to, 0);

    adapter.setCursorToStringConverter(new SimpleCursorAdapter.CursorToStringConverter() {
        @Override
        public CharSequence convertToString(Cursor cursor) {
            final int colIndex = cursor.getColumnIndexOrThrow(DatabaseHelper.KEY_NAME);
            return cursor.getString(colIndex);
        }
    });

    adapter.setFilterQueryProvider(new FilterQueryProvider() {
        @Override
        public Cursor runQuery(CharSequence name) {
            return mTransactionsDbAdapter.fetchTransactionsStartingWith(name.toString());
        }
    });

    mNameEditText.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
            mTransaction = mTransactionsDbAdapter.getTransaction(id);
            mTransaction.setUID(UUID.randomUUID().toString());
            mTransaction.setExported(false);
            mTransaction.setTime(System.currentTimeMillis());
            long accountId = ((TransactionsActivity) getSherlockActivity()).getCurrentAccountID();
            mTransaction.setAccountUID(mTransactionsDbAdapter.getAccountUID(accountId));
            initializeViewsWithTransaction();
        }
    });

    mNameEditText.setAdapter(adapter);
}