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

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

Introduction

In this page you can find the example usage for android.support.v4.widget SimpleCursorAdapter setCursorToStringConverter.

Prototype

public void setCursorToStringConverter(CursorToStringConverter cursorToStringConverter) 

Source Link

Document

Sets the converter used to convert the filtering Cursor into a String.

Usage

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

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    fragmentActivity = getActivity();/*  www .ja v a 2 s  .  c o 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 v  a 2  s.  c  o m*/
    }

    // 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
 *///  w  ww.java 2  s .c o 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);
}