freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

android畢業(yè)設(shè)計軟件工程專業(yè)-資料下載頁

2024-11-29 06:07本頁面
  

【正文】 的 Activity,當完成對選擇聯(lián)系人窗口的啟動后, dialog 銷毀,代碼如下 : …… new Thread(new Runnable(){ public void run() { //new一個 Intent對象,并制定 class Intent intent=new Intent()。 (,)。 startActivityForResult(intent,0)。//此函數(shù)可以返回被叫 activity傳來的數(shù)據(jù) ()。 } }).start()。 …… 青島大學本科生畢業(yè)論文(設(shè)計) 方萌 24 圖 dialog 完成上面的步驟就進入“選擇聯(lián)系人”頁面, 利用游標 cursor 讀取手機里的聯(lián)系人 ,方法如下 : //取得 電話本中開始一項的光標 Cursor cursor = (, null, null, null, null)。 while (()) { MapString, String map = new HashMapString, String()。 // 取得聯(lián)系人名字 int nameFieldColumnIndex = ()。 String name = (nameFieldColumnIndex)。 // 取得聯(lián)系人 ID String contactId = (())。 在 android2 系列以后,每個聯(lián)系人的電話可存放多個,所以要再定義一個游標來循環(huán)讀取電話號碼: Cursor phone = (, null, + = + contactId, null, null)。 (NAME, name)。 // 取得電話號碼 (可能存在多個號碼 ),在此處無用 while (()) { String strPhoneNumber = 青島大學本科生畢業(yè)論文(設(shè)計) 方萌 25 ((.))。 (PHONE_NUMBER, strPhoneNumber)。 } (map)。 ()。 //關(guān)閉游標 } ()。//關(guān)閉游標 本 頁面的格式與之前的設(shè)置類似 ,都是相對布局格式 ,在此就不必 贅述 ,唯一不同的是 listview 的格式有所改變 ( 寫在 文件中 ) : LinearLayout …… RelativeLayout …… ImageView android:id=@+id/tag ……/ LinearLayout …… android:layout_toRightOf=@id/tag TextView android:id=@+id/multiple_title …… android:layout_marginLeft=5dip/ TextView android:id=@+id/multiple_summary …… android:layout_marginLeft=5dip/ /LinearLayout CheckBox android:id=@+id/multiple_checkbox …… android:layout_marginTop=6dip android:focusable=false android:focusableInTouchMode=false android:clickable=false android:layout_alignParentRight=true / /RelativeLayout /LinearLayout 在此特別注意以上代碼 checkbox 中的如下三行: android:focusable=false android:focusableInTouchMode=false android:clickable=false 如果 不將 checkbox 的焦點設(shè)為 false, 它 會覆蓋 listview,從而導(dǎo)致點擊listview 時不能獲得焦點。 而為了使 checkbox 可選,可在 listview 的點擊事件中用代碼實 現(xiàn): 青島大學本科生畢業(yè)論文(設(shè)計) 方萌 26 public void onItemClick(AdapterView? parent, View view, int position, long id) { CheckBox checkBox = (CheckBox)()。 ()。//切換狀態(tài) (position, ())。 ……} 為了防止向變 量中傳入空值,若用戶沒有選擇聯(lián)系人,“確定 ” 按鈕就會失效 ,原理是統(tǒng)計被選擇的 checkbox 個數(shù),若個數(shù)為 0,則按鈕失效 : if(()){ checked_count+=1。 }else{ checked_count=1。 } //若多選框為空則按鍵失效 if(checked_count==0){ (false)。 }else{ (true)。 } 下面實現(xiàn)將所選的聯(lián)系人信息回調(diào)給上一個 Activity,即 Smss。因為此Activity是用 startActivityForResult函數(shù)調(diào)出的,要傳回數(shù)據(jù)到主 Activity,需要 將數(shù)據(jù)分別存放到名為“ str_name”和“ str_phone”的 Extra 空間變量中,用 如下代碼實現(xiàn): Uri uri = (back info)。 Intent data = new Intent(null, uri)。 ()。//最小化內(nèi)存系統(tǒng)開銷 ()。 (str_name, str_name)。 (str_phone, str_phone)。 setResult(, data)。 ()。 最終運行效果圖如圖 所示: 青島大學本科生畢業(yè)論文(設(shè)計) 方萌 27 圖 ,左圖為為選擇時 效果 ,右圖為選擇后的 效果 當點擊添加按鈕后,頁面返回短信群發(fā)主頁面,效果如 ,在此不必重復(fù)貼圖。 聯(lián)系人稱謂的刪除和修改 選擇好聯(lián)系人以后,就可以根據(jù)聯(lián)系人列表逐條發(fā)送短信了,用戶可選擇在短信內(nèi)容中插入聯(lián)系人稱謂,稱謂默認是系統(tǒng)中的姓名,若用戶對稱謂不滿意,可長按其對應(yīng)的列表項,則會彈出修改和刪除的對話框。長按鍵的事件里實例化一個對話框即可: class listLongListener implements OnItemLongClickListener{ public boolean onItemLongClick(AdapterView? arg0, View arg1, final int i, long arg3) { listener1=new () { public void onClick(DialogInterface dialog, int which) { …… } } }。 String[] menu={getString(), getString(), getString()}。 new () .setTitle((i)) .setItems(menu, listener1) .setNegativeButton(getString(), new (){ 青島大學本科生畢業(yè)論文(設(shè)計) 方萌 28 public void onClick(DialogInterface dialog, int which) { } }).show()。 return false。 } } 實現(xiàn) 效果如圖 所示: 圖 這里的 which 就代表彈出列表的 ID,這里用 switch 選擇判斷語句對用戶點擊的列表項目進行判斷 : switch(which){ case 0://選擇 item為更改稱謂 …… break。 case 1://選擇 item為從列表中刪除 …… break。 case 2://選擇 item為清空列表 …… break。 default: …… break。 點擊 列表第一項,即可彈出更改稱謂對話框, 同時對存儲稱謂的變量和用于青島大學本科生畢業(yè)論文(設(shè)計) 方萌 29 顯示稱謂列表的變量進行更新 , 之前已說明過, name 是一個 arraylist 類型的數(shù)組,所以要修改相應(yīng)的內(nèi)容,要調(diào)用 set()方法進行修改, al1 同理。同時將內(nèi)容更新到 al1中, 然后用 notifyDataSetChanged()方法 對列表 的 顯示進行更新,需要注意的是,若修改后的成為為空,則不作處理,仍為原來的稱謂, 代碼如下: /* create更改稱謂時彈出的 Dialog */ LayoutInflater factory = ()。 AlertDialog renameDialog=new ().create()。 myView=(,null)。 renameEdit=(EditText)()。 ((i))。 listener2= new () { public void onClick(DialogInterface dialog, int which) { if(!().toString().equals()){ (i, ().toString())。//更改稱謂(發(fā)送信息時以name phone為準) // 更新列表 MapString, String map = new HashMapString, String()。 (SELECTED_NAME, (i))。 SmssAdapter newsmssAdapter=(SmssAdapter)()。 (i, map)。 ()。 } } }。 (myView)。 (getString(),listener2)。//確定 (getString(),//取消 new () { public void onClick(DialogInterface dialog, int which) { } })。 ()。 修改稱謂窗口效果如圖 所示: 青島大學本科生畢業(yè)論文(設(shè)計) 方萌 30 圖 ccc為 abc,左圖為修改窗口,右圖為修改結(jié)果 移除選出列表里某個聯(lián)系人的原理同上,當在列表 dialog 中點擊第二項時,即移除了相應(yīng)的所選擇的聯(lián)系人,內(nèi)容和列表顯示的值都修改后,對 listview進行刷新,即調(diào)用 notifyDataSetChanged()方法: (i)。//移除所選內(nèi)容 (i)。//同時移除 phone,否則名稱和號碼無法對應(yīng) SmssAdapter newsmssAdapter=(SmssAdapter)()。 (i)。 if(()==0){//name和 phone沒有徹底變?yōu)?null,而是成了 “[]”,所以加以判斷并賦值為 null name=null。 phone=null。 } ()。 效果如圖 : 青島大學本科生畢業(yè)論文(設(shè)計) 方萌 31 圖 “從列表刪除”移除了聯(lián)系人 aaa 用戶點擊第三項,則可將所選的所有聯(lián)系人全部清除,此項可用于重新選擇聯(lián)系人時用。實現(xiàn)方法是調(diào)用 arrylist 的 clear()方法: ()。 ()。 ()。 經(jīng)反復(fù)實驗,發(fā)現(xiàn) 此時應(yīng)重新聲明 listview,才可完全清除列表中
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1