Сборщик контактов Android с флажком

Существует много дискуссий на эту тему, но, потратив 4 часа здесь, я не смог найти подходящее описание или ссылку для выбора контактов с помощью флажка.

У меня есть активность сDONE кнопка иlistview сcheckbox, Мне удалось правильно показать контакты. Теперь я хочу вернуть выбранные контактные телефоны вbundle (Я думаю, что лучший способ), чтобы я мог получить список чисел вonActivityResult(), Я не уверен, правильно ли я следую, или нет.

Вот мой код:

public class ContactPickerMulti extends ListActivity implements OnClickListener {

    // List variables
    public String[] Contacts = {};
    public int[] to = {};
    public ListView myListView;

    Button save_button;
    private TextView phone;
    private String phoneNumber;
    private Cursor cursor;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contacts_multi);

        // Initializing the buttons according to their ID
        save_button = (Button) findViewById(R.id.contact_done);

        // Defines listeners for the buttons
        save_button.setOnClickListener(this);

        Cursor mCursor = getContacts();
        startManagingCursor(mCursor);

        ListAdapter adapter = new SimpleCursorAdapter(
                this,
                android.R.layout.simple_list_item_multiple_choice,
                mCursor,
                Contacts = new String[] { ContactsContract.Contacts.DISPLAY_NAME },
                to = new int[] { android.R.id.text1 });

        setListAdapter(adapter);
        myListView = getListView();
        myListView.setItemsCanFocus(false);
        myListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

    }

    private Cursor getContacts() {
        // Run query
        Uri uri = ContactsContract.Contacts.CONTENT_URI;
        String[] projection = new String[] { ContactsContract.Contacts._ID,
                ContactsContract.Contacts.DISPLAY_NAME };
        String selection = ContactsContract.Contacts.HAS_PHONE_NUMBER + " = '"
                + ("1") + "'";
        String[] selectionArgs = null;
        String sortOrder = ContactsContract.Contacts.DISPLAY_NAME
                + " COLLATE LOCALIZED ASC";

        return managedQuery(uri, projection, selection, selectionArgs,
                sortOrder);
    }

    public void onClick(View src) {
        Intent i;
        switch (src.getId()) {
        case R.id.contact_done:

            SparseBooleanArray selectedPositions = myListView
                    .getCheckedItemPositions();
            SparseBooleanArray checkedPositions = myListView
                    .getCheckedItemPositions();
            if (checkedPositions != null) {
                for (int k = 0; k < checkedPositions.size(); k++) {
                     if (checkedPositions.valueAt(k)) {
                          String name =
                                 ((Cursor)myListView.getAdapter().getItem(k)).getString(1);
                            Log.i("XXXX",name + " was selected");
                        }
                }
            }

            break;
        }

    }
}

Я хочу отправить числа в виде массива или списка. Каков наилучший способ сделать это? Любая помощь или ведущий к правильному пути высоко ценится.

Ответы на вопрос(2)

Ваш ответ на вопрос