精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android實現多選聯系人

移動開發 Android
有很多網友問多選聯系人實現方式,這里參考了apidemos的例子做了簡單實現。整體思路是使用使用一個ArrayList存放選中的聯系人信息,細節就不說了,貼一下代碼

有很多網友問多選聯系人實現方式,這里參考了apidemos的例子做了簡單實現。

整體思路是使用使用一個ArrayList存放選中的聯系人信息,細節就不說了,貼一下代碼

  1. public class CopyContactsListMultiple extends ListActivity implements OnClickListener{  
  2.    
  3. private final int UPDATE_LIST=1;  
  4. ArrayList contactsList; //得到的所有聯系人  
  5. ArrayList getcontactsList; //選擇得到聯系人  
  6. private Button okbtn;  
  7. private Button cancelbtn;  
  8. private ProgressDialog proDialog;  
  9.    
  10. Thread getcontacts;  
  11. Handler updateListHandler = new Handler() {  
  12. public void handleMessage(Message msg) {  
  13. switch (msg.what) {  
  14.    
  15. case UPDATE_LIST:  
  16. if (proDialog != null) {  
  17. proDialog.dismiss();  
  18. }  
  19. updateList();  
  20. }  
  21. }  
  22. };  
  23. public void onCreate(Bundle savedInstanceState) {  
  24. super.onCreate(savedInstanceState);  
  25. setContentView(R.layout.contactslist);  
  26. contactsList=new ArrayList();  
  27. getcontactsList=new ArrayList();  
  28.    
  29. final ListView listView = getListView();  
  30. listView.setItemsCanFocus(false);  
  31. listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);  
  32. okbtn=(Button)findViewById(R.id.contacts_done_button);  
  33. cancelbtn=(Button)findViewById(R.id.contact_back_button);  
  34. okbtn.setOnClickListener(this);  
  35. cancelbtn.setOnClickListener(this);  
  36.    
  37. getcontacts=new Thread(new GetContacts());  
  38. getcontacts.start();  
  39. proDialog = ProgressDialog.show(CopyContactsListMultiple.this, “loading”,“loading”, truetrue);  
  40.    
  41. }  
  42.    
  43. @Override 
  44. protected void onResume() {  
  45. // TODO Auto-generated method stub  
  46. super.onResume();  
  47.    
  48. }  
  49.    
  50. void updateList(){  
  51. if(contactsList!=null)  
  52. setListAdapter(new ArrayAdapter(this,  
  53. android.R.layout.simple_list_item_multiple_choice, contactsList));  
  54.    
  55. }  
  56.    
  57. @Override 
  58. protected void onListItemClick(ListView l, View v, int position, long id) {  
  59. // TODO Auto-generated method stub  
  60. if(!((CheckedTextView)v).isChecked()){  
  61.    
  62. CharSequence num=((CheckedTextView)v).getText();  
  63. getcontactsList.add(num.toString());  
  64. }  
  65. if(((CheckedTextView)v).isChecked()){  
  66. CharSequence num=((CheckedTextView)v).getText();  
  67. if((num.toString()).indexOf(“[")>0){  
  68. String phoneNum=num.toString().substring(0, (num.toString()).indexOf("\n"));  
  69. getcontactsList.remove(phoneNum);  
  70. Log.d("remove_num"""+phoneNum);  
  71. }else{  
  72. getcontactsList.remove(num.toString());  
  73. Log.d("remove_num"""+num.toString());  
  74. }  
  75. }  
  76. super.onListItemClick(l, v, position, id);  
  77. }  
  78. class GetContacts implements Runnable{  
  79. @Override 
  80. public void run() {  
  81. // TODO Auto-generated method stub  
  82. Uri uri = ContactsContract.Contacts.CONTENT_URI;  
  83. String[] projection = new String[] {  
  84. ContactsContract.Contacts._ID,  
  85. ContactsContract.Contacts.DISPLAY_NAME,  
  86. ContactsContract.Contacts.PHOTO_ID  
  87. };  
  88. String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + “ = ’1′”;  
  89. String[] selectionArgs = null;  
  90. String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + “ COLLATE LOCALIZED ASC”;  
  91. Cursor cursor=managedQuery(uri, projection, selection, selectionArgs, sortOrder);  
  92. Cursor phonecur = null;  
  93.    
  94. while (cursor.moveToNext()){  
  95.    
  96. // 取得聯系人名字  
  97. int nameFieldColumnIndex = cursor.getColumnIndex(android.provider.ContactsContract.PhoneLookup.DISPLAY_NAME);  
  98. String name = cursor.getString(nameFieldColumnIndex);  
  99. // 取得聯系人ID 

 

  1. String contactId = cursor.getString(cursor.getColumnIndex(android.provider.ContactsContract.Contacts._ID));  
  2. phonecur = managedQuery(android.provider.ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, android.provider.ContactsContract.CommonDataKinds.Phone.CONTACT_ID + “ = ” + contactId, null, null);  
  3. // 取得電話號碼(可能存在多個號碼)  
  4. while (phonecur.moveToNext()){  
  5. String strPhoneNumber = phonecur.getString(phonecur.getColumnIndex(android.provider.ContactsContract.CommonDataKinds.Phone.NUMBER));  
  6. if(strPhoneNumber.length()>4)  
  7. contactsList.add(“18610011001″+“\n測試”);  
  8. //contactsList.add(strPhoneNumber+”\n”+name+”");  
  9.    
  10. }  
  11. }  
  12. if(phonecur!=null)  
  13. phonecur.close();  
  14. cursor.close();  
  15.    
  16. Message msg1=new Message();  
  17. msg1.what=UPDATE_LIST;  
  18. updateListHandler.sendMessage(msg1);  
  19. }  
  20. }  
  21. @Override  
  22. protected void onPause() {  
  23. // TODO Auto-generated method stub  
  24. super.onPause();  
  25.    
  26. }  
  27.    
  28. @Override  
  29. protected void onDestroy() {  
  30. contactsList.clear();  
  31. getcontactsList.clear();  
  32. super.onDestroy();  
  33. }  
  34.    
  35. @Override  
  36. public void onClick(View v) {  
  37. // TODO Auto-generated method stub  
  38. switch (v.getId()) {  
  39. case R.id.contacts_done_button:  
  40. Intent i = new Intent();  
  41. if(getcontactsList!=null>>getcontactsList.size()>0){  
  42. Bundle b = new Bundle();  
  43. b.putStringArrayList(“GET_CONTACT”, getcontactsList);  
  44. i.putExtras(b);  
  45. }  
  46. setResult(RESULT_OK, i);  
  47. CopyContactsListMultiple.this.finish();  
  48. break;  
  49. case R.id.contact_back_button:  
  50. CopyContactsListMultiple.this.finish();  
  51. break;  
  52. default:  
  53. break;  
  54. }  
  55. }  
  56. @Override  
  57. public boolean onKeyDown(int keyCode, KeyEvent event) {  
  58. // TODO Auto-generated method stub  
  59. if(keyCode==KeyEvent.KEYCODE_BACK){  
  60. Intent i = new Intent();  
  61. Bundle b = new Bundle();  
  62. b.putStringArrayList(“GET_CONTACT”, getcontactsList);  
  63. i.putExtras(b); // }  
  64. setResult(RESULT_OK, i);  
  65. }  
  66. return super.onKeyDown(keyCode, event);  
  67. }  

xml:

  1. <?xml version=“1.0″ encoding=“utf-8″?> 
  2. <LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”  
  3.         android:orientation=“vertical” android:layout_width=“fill_parent”  
  4.         android:layout_height=“fill_parent”> 
  5.    
  6.    
  7.         <ListView android:id=“@+id/android:list”   
  8.                 android:layout_height=“fill_parent”   
  9.                 android:layout_width=“fill_parent”  
  10.                  android:layout_marginLeft=“10dip”  
  11.                 android:layout_marginRight=“10dip”   
  12.                 android:layout_marginTop=“10dip”  
  13.                 android:layout_weight=“1.0″> 
  14.         </ListView> 
  15.    
  16.         <LinearLayout android:layout_width=“fill_parent”  
  17.                 android:layout_height=“wrap_content”  
  18.                 android:layout_weight=“0″ android:orientation=“horizontal”  
  19.                 android:gravity=“center” android:layout_marginLeft=“10dip”  
  20.                 android:layout_marginRight=“10dip” android:layout_marginBottom=“10dip”  
  21.                 android:weightSum=“1″> 
  22.    
  23.                 <Button android:id=“@+id/contacts_done_button”  
  24.                         android:textSize=“17dip”  
  25.                         android:layout_marginRight=“10dip” android:layout_width=“0dip”  
  26.                         android:layout_height=“wrap_content” android:layout_weight=“0.35″  
  27.                         android:text=“sure” /> 
  28.    
  29.                 <Button android:id=“@+id/contact_back_button”  
  30.                         android:layout_marginLeft=“10dip” android:textSize=“17dip”  
  31.                         android:layout_width=“0dip” android:layout_height=“wrap_content”  
  32.                         android:layout_weight=“0.35″ android:text=“back” /> 
  33.         </LinearLayout> 
  34.    
  35. </LinearLayout> 

效果如圖:

 

device-2012-02-06-091606.png

【編輯推薦】

  1. Android編程方法大PK:NDK vs. RenderScript 
  2. Android SQLite3命令詳解教程 
  3. 如何開發基于Adobe AIR的Android應用 
責任編輯:冰凝兒 來源: DEVDIV博客
相關推薦

2014-12-30 11:51:35

ListViewItem View

2011-05-26 14:42:34

Android 手機

2010-01-27 14:08:56

Android查詢聯系

2015-01-21 15:50:55

Android源碼全國城市列表

2015-11-11 10:17:15

ios9聯系人框架干貨

2020-02-02 14:45:55

聯系人開源工具

2011-08-12 10:16:10

iPhone通訊錄聯系人

2012-03-26 21:38:36

智能

2013-09-17 09:51:49

谷歌Bump移動應用

2011-09-21 14:33:17

點心

2019-11-07 09:20:36

Windows 10聯系人Outlook

2012-02-24 09:25:58

2011-10-14 09:42:06

點心通訊錄

2013-05-07 09:26:26

Office 365微軟

2015-09-24 11:37:43

2012-02-02 17:16:11

Windows PhoC#聯系人資料

2020-04-29 09:55:13

蘋果谷歌API

2010-11-23 11:21:25

Microsoft L

2014-12-10 10:45:56

Android應用權限

2022-01-04 15:34:31

鴻蒙HarmonyOS應用
點贊
收藏

51CTO技術棧公眾號

亚洲中文字幕一区| 伊人色综合影院| 精品一卡二卡三卡四卡日本乱码| 久操视频免费看| 欧美网站免费| 亚洲国产成人91porn| 麻豆精品传媒视频| 国产特级黄色片| 亚洲综合精品四区| 久久视频在线播放| 国产美女喷水视频| 韩国三级大全久久网站| 懂色av一区二区三区| 亚洲午夜精品一区二区 | 色欲综合视频天天天| 中文字幕一区二区三区最新 | 在线视频亚洲自拍| 午夜一区在线观看| 国产一区二区三区免费播放| 欧美亚洲国产视频小说| 国产精品视频一区二区三| 要久久电视剧全集免费| 日韩午夜在线观看| 四季av一区二区| av中文资源在线资源免费观看| 欧美激情一区二区三区在线| 国产精品日韩一区二区| 国产精品久久久久久久久毛片| 国产美女诱惑一区二区| 久久99精品国产99久久6尤物| 中文字幕在线观看免费高清| 国产无遮挡裸体免费久久| 欧美精品tushy高清| av网址在线观看免费| av在线加勒比| 亚洲乱码国产乱码精品精的特点| 偷拍视频一区二区| 日韩精品视频无播放器在线看| 国产成人免费视| 成人午夜在线影院| 中文在线字幕免费观| 国产亚洲亚洲| 欧美精品videosex极品1| av最新在线观看| 色爱综合网欧美| 伊人精品在线观看| 香蕉视频久久久| 美日韩中文字幕| 日韩高清a**址| 国产性猛交96| 国产精品宾馆| 亚洲成人动漫在线播放| 女同性αv亚洲女同志| 欧美一级做一级爱a做片性| 在线观看国产精品网站| 亚洲精品乱码久久久久久自慰| 亚洲一级少妇| 日韩欧美中文免费| 久热免费在线观看| 日本精品不卡| 欧美日韩一区二区三区不卡| www.亚洲高清| www999久久| 欧美成人猛片aaaaaaa| 国产一级二级av| 香蕉成人app| 亚洲国产精品热久久| 久久性爱视频网站| 香蕉久久夜色精品国产更新时间 | 成人深夜直播免费观看| 国产精品毛片一区视频播| 精品午夜久久福利影院| 91av在线免费观看| 亚洲 日本 欧美 中文幕| 老司机精品福利视频| 国产精品视频内| 国产女人爽到高潮a毛片| 国产一本一道久久香蕉| 国产91精品入口17c| 婷婷色在线视频| 国产人久久人人人人爽| 一区二区三区的久久的视频| а√中文在线8| 亚洲二区在线观看| 日韩网址在线观看| 亚洲国产91视频| 精品日韩一区二区| 中文字幕网站在线观看| 亚洲电影影音先锋| 欧美精品久久一区二区| 久草视频在线免费| 高清不卡一二三区| 欧美一级爽aaaaa大片| 国产原创在线观看| 欧美小视频在线| 午夜免费一级片| 亚洲va久久久噜噜噜久久| 中文字幕亚洲第一| 日本熟妇成熟毛茸茸| 日韩精品一级二级| 国产精品日韩欧美一区二区| 都市激情一区| 亚洲观看高清完整版在线观看| 精品www久久久久奶水| 免费一级欧美在线大片| 亚洲另类图片色| 欧美成人片在线观看| 琪琪一区二区三区| 精品久久久久久一区| 免费在线毛片网站| 一本色道a无线码一区v| 国产精品嫩草69影院| 日韩aaaa| 热re99久久精品国产66热| 国产情侣激情自拍| 国产精品嫩草久久久久| 国产资源在线视频| 6080亚洲理论片在线观看| 色婷婷综合成人| 三级网站在线播放| 北岛玲一区二区三区四区 | 亚洲一品av免费观看| 2一3sex性hd| av永久不卡| 91av在线看| 国产富婆一级全黄大片| 久久久久久久久久久99999| 最新国产精品久久| 日韩av一卡| 欧美高清视频在线高清观看mv色露露十八| 91精品国产自产| 欧美福利影院| 国产欧美婷婷中文| 欧美孕妇孕交xxⅹ孕妇交| 亚洲靠逼com| 国产三级三级看三级| 久久99视频| 国模吧一区二区三区| 国产精品一区二区av白丝下载 | 风间由美一区二区av101| 亚洲欧美日韩高清| 国产午夜精品无码| 国产一区在线看| 婷婷四月色综合| 456亚洲精品成人影院| 亚洲第一级黄色片| 国产97免费视频| 精品中文字幕一区二区| 日本免费高清一区| 制服丝袜专区在线| 亚洲精品福利资源站| 97人妻人人揉人人躁人人| 鲁大师影院一区二区三区| 国产精品久久波多野结衣| 91精品国产91久久久久久青草| 欧美日韩美少妇| 日韩不卡av在线| 日韩精品成人一区二区三区| 日韩欧美一区二区在线观看| 亚洲一二三四| 日韩精品视频在线播放| 日本午夜精品理论片a级app发布| 国产成人综合自拍| 777久久精品一区二区三区无码 | 精品一区精品二区高清| 欧美日韩成人一区二区三区| 电影一区二区三| 亚洲欧美制服综合另类| 日本熟女毛茸茸| 国产三级精品在线| 国产a级片免费观看| 欧美wwwsss9999| 国产精品一二三视频| 午夜在线观看视频| 欧美一区二区三区电影| 欧美日韩偷拍视频| 不卡一卡二卡三乱码免费网站| 国产亚洲欧美在线视频| 精品99在线| 国产精品亚发布| av网址在线| 亚洲国产成人在线播放| 国产精品人人人人| 中文字幕一区二| 国产成人精品综合久久久久99| 欧美日韩专区| 免费毛片一区二区三区久久久| 欧美美女日韩| 一区二区三欧美| 午夜精品久久久久久久96蜜桃| 天天综合色天天综合| 男人舔女人下部高潮全视频| 久久99精品久久久久久动态图| 特级西西人体www高清大胆| 成人精品毛片| 国产精品91一区| 免费在线观看av| 欧美成人高清电影在线| 国产一级做a爱片久久毛片a| 久久久久久久久久久黄色| 永久av免费在线观看| 一区二区国产精品| 亚洲一区二区三区精品动漫| 亚洲不卡视频| 国产成人福利网站| 女人天堂av在线播放| 亚洲偷欧美偷国内偷| 国产毛片久久久久| 日韩欧美亚洲成人| 99成人在线观看| 高清国产一区二区| 午夜精品中文字幕| 亚洲欧洲一区| 一区二区三区久久网| 免费日韩一区二区三区| 国产欧美精品在线| 三妻四妾完整版在线观看电视剧| 一本一本久久a久久精品牛牛影视| 99久久夜色精品国产亚洲| 日韩欧美主播在线| 日日骚一区二区三区| 久久精品视频免费| 久久久久亚洲av成人网人人软件| 久久99国产精品麻豆| 浮妇高潮喷白浆视频| 99精品综合| 日韩高清国产一区在线观看| 国产精品调教| 99国产精品久久久久老师| 波多视频一区| 欧美极品少妇xxxxⅹ喷水| 1区2区3区在线观看| 亚洲跨种族黑人xxx| wwwav网站| 精品久久久久99| a级片在线播放| 欧美日韩一二三区| 午夜精品久久久久久久蜜桃| 精品福利视频导航| 精品久久免费视频| 一个色在线综合| 五月天av网站| 中文字幕一区三区| 美女100%露胸无遮挡| 日本一区二区三区四区在线视频| 欧美肉大捧一进一出免费视频| 国产乱码一区二区三区| www激情五月| 国产乱码精品一区二区三区五月婷| 手机免费av片| 久久国产人妖系列| av免费网站观看| 日韩电影免费在线看| 无码人妻丰满熟妇区96| 亚洲尤物影院| 日本网站免费在线观看| 在线观看视频日韩| 久久成人福利视频| 伊人久久大香线蕉av超碰演员| 91九色国产ts另类人妖| 99精品视频精品精品视频| 一区二区视频在线免费| 久久精品国产www456c0m| 手机成人av在线| 综合一区二区三区| 欧美一级欧美一级在线播放| 在线免费黄色小视频| 日本美女一区二区三区视频| 国产 porn| 男人的j进女人的j一区| 国产九九在线视频| 亚洲制服少妇| 一区二区三区 日韩| 狠狠狠色丁香婷婷综合久久五月| 怡红院亚洲色图| 久久97超碰国产精品超碰| 黄色三级视频在线播放| 成人av在线看| 中文字幕在线观看网址| 久久久久久久av麻豆果冻| 怡红院一区二区三区| 最新中文字幕一区二区三区| 波多野结衣家庭教师| 亚洲国产乱码最新视频| 男女视频免费看| 色综合久久中文字幕综合网| 波多野结衣高清视频| 日韩一区二区电影在线| 六月婷婷综合网| 亚洲另类xxxx| 欧美性videos| 97国产精品免费视频| 欧美成人ⅴideosxxxxx| 国产视频观看一区| av日韩精品| 国产精品一区在线观看| 日本欧美视频| 日韩专区第三页| 男人天堂欧美日韩| 在线观看免费的av| 99国产精品99久久久久久| 无码少妇一区二区| 亚洲精品视频免费观看| www.毛片.com| 精品国产乱码久久久久久图片| 欧美美乳在线| 欧美成人一二三| 三级成人在线| 国产一区二区无遮挡| 久久国产成人精品| 久无码久无码av无码| 日本色综合中文字幕| 国产白嫩美女无套久久| 中文字幕一区在线观看视频| 国产精品suv一区二区| 欧美在线制服丝袜| 精品国产乱码久久久久久蜜臀网站| 亚洲欧美日韩在线一区| 18视频在线观看网站| 国产激情999| 亚洲综合网狠久久| 中文字幕人成一区| 久久男女视频| 在线看黄色的网站| 亚洲人成精品久久久久| 中文字幕一区二区在线视频| 亚洲国产精品va| av软件在线观看| 91福利资源站| 黑鬼大战白妞高潮喷白浆| 中文字幕人妻精品一区| 91福利国产精品| 亚洲精品久久久久久动漫器材一区 | a黄色在线观看| 1769国内精品视频在线播放| а天堂中文最新一区二区三区| 免费久久久一本精品久久区| 亚洲成人在线| 中文字幕第3页| 一区二区三区免费观看| 一级片在线观看视频| 亚洲天堂一区二区三区| 台湾佬中文娱乐久久久| 精品国产乱码久久久久软件| 欧美 亚欧 日韩视频在线 | 国产精品扒开腿做爽爽爽视频软件| 成人自拍视频网站| 国产一区二区三区自拍| 宇都宫紫苑在线播放| 亚洲视频每日更新| 国产精品国产三级国产普通话对白 | 亚洲妇熟xx妇色黄蜜桃| 综合电影一区二区三区| 一二三区在线播放| 综合久久五月天| 激情久久一区二区| youjizz.com亚洲| 精品一区二区三区在线观看| 美国美女黄色片| 91黄色免费版| 亚洲1卡2卡3卡4卡乱码精品| 国产精品久久久久久久久久久久久久| 亚洲欧美日本伦理| www.亚洲天堂网| 国产精品视频免费看| 一级黄色大片免费观看| 啊v视频在线一区二区三区| 国产三级一区| 国产av第一区| 国产精品一区二区在线看| 久久久国产精华液| 丁香天五香天堂综合| 色哟哟网站在线观看| 亚洲午夜激情av| 色窝窝无码一区二区三区成人网站 | 成人欧美一区二区三区1314| 国产又黄又爽视频| 九九热精品在线| 国产精品tv| 91蝌蚪视频在线观看| 久久精品水蜜桃av综合天堂| 国产精品爽爽久久久久久| 欧美乱大交xxxxx另类电影| 日韩在线成人| 黄页网站大全在线观看| 久久久噜噜噜久久中文字幕色伊伊 | 国产日韩欧美一区二区东京热| 欧美多人乱p欧美4p久久| 亚洲av成人精品一区二区三区 | 蜜桃精品久久久久久久免费影院| 亚洲黄色影片| 国产精品成人在线视频| 制服丝袜成人动漫| 成人影音在线| 日韩精品久久一区二区三区| 国产一区二区三区av电影| 粉嫩aⅴ一区二区三区| 中文字幕一区二区精品| 加勒比中文字幕精品| 国产又大又黄又粗的视频|