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

正文內(nèi)容

安卓手機(jī)操作系統(tǒng)的設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2024-07-19 18:15 本頁面
 

【文章內(nèi)容簡介】 ativeLayout…… TextView android:id=@+id/txt_smss_name …… android:layout_alignParentLeft=true / TextView android:id=@+id/txt_smss_report …… android:layout_alignParentRight=true //RelativeLayout下面就要定義適配器,繼承系統(tǒng)的SimpleAdapter類,引用上面提到的布局格式,:public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = (, null)。 } TextView tN = (TextView) ()。 ((String) (position).get(SELECTED_NAME))。 TextView tR = (TextView) ()。 ((String) (position).get(SEND_REPORT))。 return convertView。 }此時短信群發(fā)界面的已選擇聯(lián)系人列表建立完成了,這個ListView中的內(nèi)容就是從選擇聯(lián)系人界面選擇的聯(lián)系人姓名。因?yàn)橄纫M(jìn)入子頁面選擇聯(lián)系人,而后返回父窗體時顯示內(nèi)容,所以用startActivityForResult拋出,用此方法返回父窗體就會執(zhí)行onActivityResult()方法:…… startActivityForResult(intent,0)?!璸rotected void onActivityResult(int requestCode, int resultCode, Intent data) { (requestCode, resultCode, data)。 listView = (ListView)findViewById()。 switch(resultCode){ case RESULT_OK: …… default: break。 } …… }此模式的原理是子頁面將選擇的內(nèi)容存入ArrayListExtra空間的變量中,然后用getStringArrayListExtra將內(nèi)容取出,子頁面存入方法在接下來的部分中介紹,以下為父頁面取出記錄的內(nèi)容,記錄為所選的用戶名和相應(yīng)的電話號碼,取出后將內(nèi)容分別存放在arraylist變量name和phone中:name=(str_name)。phone=(str_phone)。()。//節(jié)省資源開銷()。將用來顯示的arraylist(這里實(shí)例化為al1)變量清空,以防重復(fù)顯示:()。定義哈希map,此格式變量以鍵值對的形式存儲內(nèi)容,下面用循環(huán)的方式分別將選出的聯(lián)系人姓名添加到al1中:for(int i=0。i()。i++){ //顯示選擇的聯(lián)系人姓名于列表ListView中 MapString, String map = new HashMapString, String()。 (SELECTED_NAME, (i))。 (map)。}將listview與它的適配器進(jìn)行關(guān)聯(lián): String[] from = { SELECTED_NAME, SEND_REPORT }。 int[] to = { , }。 mSmssAdapter=new SmssAdapter(this, al1, , from, to)。 (mSmssAdapter)。 break。這樣就把所選的內(nèi)容逐條顯示在listview中了。: 。左圖為未選擇聯(lián)系人界面,右圖為選擇聯(lián)系人返回后的界面選擇聯(lián)系人當(dāng)在短信群發(fā)主頁面點(diǎn)擊“選擇聯(lián)系人”按鈕時,就會進(jìn)入選擇聯(lián)系人的界面,啟動此頁面繼承的Activity——SmssContact。首先實(shí)現(xiàn)進(jìn)入選擇聯(lián)系人頁面,在androidSDK中要使一個Activity啟動另一個Activity的就是利用intent方法,格式如下:Intent intent=new Intent()。(父類Activity,子類Activity)。startActivityForResult(intent,0)。 在Smss(聯(lián)系人主界面)的activity中,用如下方法將活動拋給SmssContact類,此方法寫在“選擇聯(lián)系人”的點(diǎn)擊事件中。當(dāng)點(diǎn)擊“選擇聯(lián)系人”后,系統(tǒng)就會讀取聯(lián)系人數(shù)據(jù),然后將聯(lián)系人顯示與listview中,在這個過程中,系統(tǒng)會出現(xiàn)“假死”狀態(tài),所以,應(yīng)在這期間設(shè)置一個dialog窗口,用來提示用戶正在讀取數(shù)據(jù),而不是死機(jī)現(xiàn)象,這樣更體現(xiàn)出人性化的設(shè)計(jì)思想理念。首先定義dialog的標(biāo)題和內(nèi)容:final CharSequence strDialogTitle=getString()。final CharSequence strDialogBody=getString()。然后顯示dialog: //顯示Dialog sendmsg_Dialog=( , strDialogTitle, strDialogBody, true )。在顯示dialog后,啟動一個線程來調(diào)用選擇聯(lián)系人的Activity,當(dāng)完成對選擇聯(lián)系人窗口的啟動后,dialog銷毀,代碼如下: ……new Thread(new Runnable(){ public void run() { //new一個Intent對象,并制定classIntent intent=new Intent()。 (,)。startActivityForResult(intent,0)。//此函數(shù)可以返回被叫activity傳來的數(shù)據(jù) ()。 } }).start()?!瓿缮厦娴牟襟E就進(jìn)入“選擇聯(lián)系人”頁面,利用游標(biāo)cursor讀取手機(jī)里的聯(lián)系人,方法如下://取得電話本中開始一項(xiàng)的光標(biāo) 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)系人的電話可存放多個,所以要再定義一個游標(biāo)來循環(huán)讀取電話號碼:Cursor phone = (, null, + = + contactId, null, null)。 (NAME, name)。// 取得電話號碼(可能存在多個號碼),在此處無用while (()) {String strPhoneNumber = (())。 (PHONE_NUMBER, strPhoneNumber)。}(map)。()。 //關(guān)閉游標(biāo) }()。//關(guān)閉游標(biāo)本頁面的格式與之前的設(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的焦點(diǎn)設(shè)為false,它會覆蓋listview,從而導(dǎo)致點(diǎn)擊listview時不能獲得焦點(diǎn)。而為了使checkbox可選,可在listview的點(diǎn)擊事件中用代碼實(shí)現(xiàn):public void onItemClick(AdapterView? parent, View view, int position, long id) {CheckBox checkBox = (CheckBox)()。()。//切換狀態(tài)(position, ())?!瓆為了防止向變量中傳入空值,若用戶沒有選擇聯(lián)系人,“確定”按鈕就會失效,原理是統(tǒng)計(jì)被選擇的checkbox個數(shù),若個數(shù)為0,則按鈕失效:if(()){ checked_count+=1。 }else{ checked_count=1。 } //若多選框?yàn)榭談t按鍵失效 if(checked_count==0){ (false)。 }else{ (true)。 }下面實(shí)現(xiàn)將所選的聯(lián)系人信息回調(diào)給上一個Activity,即Smss。因?yàn)榇薃ctivity是用startActivityForResult函數(shù)調(diào)出的,要傳回數(shù)據(jù)到主Activity,需要將數(shù)據(jù)分別存放到名為“str_name”和“str_phone”的Extra空間變量中,用如下代碼實(shí)現(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)。()。: ,左圖為為選擇時效果,右圖為選擇后的效果當(dāng)點(diǎn)擊添加按鈕后,頁面返回短信群發(fā)主頁面,在此不必重復(fù)貼圖。聯(lián)系人稱謂的刪除和修改選擇好聯(lián)系人以后,就可以根據(jù)聯(lián)系人列表逐條發(fā)送短信了,用戶可選擇在短信內(nèi)容中插入聯(lián)系人稱謂,稱謂默認(rèn)是系統(tǒng)中的姓名,若用戶對稱謂不滿意,可長按其對應(yīng)的列表項(xiàng),則會彈出修改和刪除的對話框。長按鍵的事件里實(shí)例化一個對話框即可: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) {…… } } }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1