Aynı konu hakkında birçok tartışma var, ancak burada 4 saat geçirdikten sonra Checkbox ile İletişim Seçici yapmak için geçerli bir açıklama veya bağlantı bulamadım.Android İletişim Seçici ile Onay Kutusu
Ben YAPILAN düğmesi ve checkbox
ile listview
ile bir aktiviteye sahiptir. Kişileri doğru şekilde göstermeyi başardım. Şimdi bundle
numaralı telefondan seçilen iletişim telefon numaralarını geri getirmek istiyorum (en iyi şekilde düşünüyorum) böylece onActivityResult()
numaralarının listesini alabilirim. İzlediğim yolun doğru olup olmadığından emin değilim. Ben dizi veya liste olarak numaralar göndermek istediğiniz
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;
}
}
}
:
İşte benim kodudur. Bunu yapmanın en iyi yolu nedir? Herhangi bir yardım veya doğru yola giden yol çok takdir edilmektedir.
böylece adaptör kodu ı edebilirsiniz ekleyiniz başlangıç etkinliğinin son
onActivityResult
telefon numaranı bil. –@Yul kodu güncellendi .. Şimdi kişinin adını yazdıracak :) Sadece İsim yerine telefon numarasını almalıyım;) Bitti! Cevabınız için –