آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

ذخیره مخاطبین در لیست ویوو و استفاده از آنها [حل شد]

Lamanta  10 سال پیش  10 سال پیش
0 0

سلام

من میخوام یه سری از مخاطبین رو Pick کنم و بتونم ازشون توی یه Listview استفاده کنم

لیست ویو رو طبق آموزش استاد ساختم و تاپیک های مختلف رو هم دیدم ؛ چ اینجا چ Stackoverflow ، ولی به نتیجه نرسیدم...
دنبال رسیدن به یه همچین چیزی هستم :


 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
Hossein Lamei Ramandi  10 سال پیش
+3 0

تو استک سرچ زدم پیدا کردم برات

این متغیر قرار بده بصورت فیلد

 static final int PICK_CONTACT=1;

اینو بزار تو آن کلیک لیستنر

 Intent intent =newIntent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
  startActivityForResult(intent, PICK_CONTACT);

اینم متد آن اکتیویتی ریزالت

@Override

publicvoid onActivityResult(int reqCode,int resultCode,Intent data){
super
.onActivityResult(reqCode, resultCode, data);switch(reqCode){case(PICK_CONTACT):
if(resultCode ==Activity.RESULT_OK){Uri contactData = data.getData();
Cursor c = managedQuery(contactData,null,null,null,null);
if(c.moveToFirst()){String id =c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts._ID));
String hasPhone =c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if(hasPhone.equalsIgnoreCase("1")){
Cursor phones = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ id,
null,null);
phones.moveToFirst();
cNumber = phones.getString(phones.getColumnIndex("data1"));
System.out.println("number is:"+cNumber);
}
String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));}}break;}}

ادیتور سایت قاطی کرده بودمجبور شدم اسپیس بزنم بین خط ها

برای اضافه کردن تو لیست هم آموزش استاد در خصوص لیست ویو رو ببین اگه مشکلی بود درخدمتم

0 0
این سوال رو دقیقا خودم توی استک پرسیده بودم..... اما این پیاده سازی انتخاب Multiple نداره و فقط 1 دونه کانتکت رو میشه انتخاب کرد.... (10 سال پیش)
+1 0
خوب شما سوالتون رو واضح نپرسیدید من این برداشتو داشتم (10 سال پیش)
پاسخ به سوال 
Lamanta  10 سال پیش
0 0

من  با استفاده از کد زیر میتونم از مخاطبین Toast بگیرم ؛ ولی هر کاری میکنم اطلاعاتش رو نمیتونم مثل مثال استاد توی یه حلقه For ، بریزم داخل ListView ؛ اگه میشه کمک کنید


 
 ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (Integer.parseInt(cur.getString(
cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCur = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{id}, null);
while (pCur.moveToNext()) {
String phoneNo = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Toast.makeText(MainActivity.this, "Name: " + name + ", Phone No: " + phoneNo, Toast.LENGTH_SHORT).show();
}
pCur.close();
}
}
}
 
0 0
البته فکر میکنم بهتر باشه ذخیره بشه توی یه Database و از توی اون ریخته بشه توی ListView ؛ نمیدونم و شدیدا احتیاج ب راهنماییتون دارم (10 سال پیش)
+1 0
بهتره اول بگید دقیقا میخواید چی کار کنید تا بتونم راهنماییتون کنم (10 سال پیش)
0 0
هدفم گرفتن مخاطبینه و میخوام برای بعضی از اونها که کاربر انتخابشون میکنه بتونم یه سری کار خاص انجام بدم ، مثلا یه سریاشون رو انتخاب کنه با هدف این که این کانتکت ها همیشه سایلنت باشن اگه زنگ زدن و.... (10 سال پیش)
+2 0
خوب باید از دیتابیس استفاده کنید یه لیستی از کل مخاطبین ایجاد میکنید و هرکدومو که کاربر انتخاب کرد در دیتابیس ذخیره میکنید . (10 سال پیش)
0 0
یعنی باید کل کانتکت رو توی دیتابیس بریزم و لیست انتخابی کاربر رو هم در دیتابیس جدا ؟ (10 سال پیش)
+2 0
نه خیر باید کل کانتت ها رو صرفا تو لیست نشون بدید و فقط اونایی که کاربر انتخاب میکنه رو در دیتابیس ذخیره کنید (10 سال پیش)
0 0
در مورد پیاده سازیش تا حد امکان راهنماییم کنید (10 سال پیش)
0 0
آموزش لیست ویو استاد رو ببینید و یه استراکت بسازید که یه شماره و یه نام داشته باشه (10 سال پیش)
0 0
نحوه ریختن توی اون لیست رو دقیقا بلد نیستم.... (10 سال پیش)
پاسخ به سوال 
Lamanta  10 سال پیش
+1 0

از این روش استفاده کردم و به خوبی جواب داد : لینک


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .