के साथ एंड्रॉइड संपर्क पिकर एक ही विषय के बारे में बहुत सी चर्चाएं चल रही हैं, लेकिन यहां 4 घंटे खर्च करने के बाद, मुझे एक वैध विवरण या चेकबॉक्स के साथ संपर्क पिकर बनाने का लिंक नहीं मिला।चेकबॉक्स
मेरे पास बटन और 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;
}
}
}
मैं सरणी या सूची के रूप में संख्या भेजना चाहते हैं:
यहाँ मेरी कोड है। इसे करने का बेहतरीन तरीका क्या है? किसी भी मदद या सही रास्ते के लिए अग्रणी की सराहना की है।
कृपया एडाप्टर कोड तो मैं कर सकते हैं जोड़ने पता है कि आप फोन नंबर कैसे प्राप्त करते हैं। –
@Yul कोड अपडेट किया गया .. अब यह संपर्क के नाम को प्रिंट करेगा :) मुझे बस नाम के बजाय फोन नंबर प्राप्त करने की आवश्यकता है;) समाप्त हो गया! –