精品视频日韩无码,伊人久久无码av一区二区三区,久久艹视频国产视频,欧美成A人免费观看久久

  1. <tt id="u23fe"><i id="u23fe"><sub id="u23fe"></sub></i></tt>

      <b id="u23fe"><address id="u23fe"><kbd id="u23fe"></kbd></address></b>

      <source id="u23fe"><track id="u23fe"></track></source>
    1. 位置: 編程技術(shù) - 正文

      Android之Adapter用法總結(jié)(安卓中adapter)

      編輯:rootadmin

      推薦整理分享Android之Adapter用法總結(jié)(安卓中adapter),希望有所幫助,僅作參考,歡迎閱讀內(nèi)容。

      文章相關(guān)熱門搜索詞:android setadapter,android baseadapter,android adk,android setadapter,android adt,android baseadapter,android adt,安卓中adapter,內(nèi)容如對(duì)您有幫助,希望把文章鏈接給更多的朋友!

      1.概念

      Adapter是連接后端數(shù)據(jù)和前端顯示的適配器接口,是數(shù)據(jù)和UI(View)之間一個(gè)重要的紐帶。在常見的View(ListView,GridView)等地方都需要用到Adapter。如下圖直觀的表達(dá)了Data、Adapter、View三者的關(guān)系:

      Android中所有的Adapter一覽:

      由圖可以看到在Android中與Adapter有關(guān)的所有接口、類的完整層級(jí)圖。在我們使用過(guò)程中可以根據(jù)自己的需求實(shí)現(xiàn)接口或者繼承類進(jìn)行一定的擴(kuò)展。比較常用的有 BaseAdapter,SimpleAdapter,ArrayAdapter,SimpleCursorAdapter等。

      BaseAdapter是一個(gè)抽象類,繼承它需要實(shí)現(xiàn)較多的方法,所以也就具有較高的靈活性;ArrayAdapter支持泛型操作,最為簡(jiǎn)單,只能展示一行字。SimpleAdapter有最好的擴(kuò)充性,可以自定義出各種效果。SimpleCursorAdapter可以適用于簡(jiǎn)單的純文字型ListView,它需要Cursor的字段和UI的id對(duì)應(yīng)起來(lái)。如需要實(shí)現(xiàn)更復(fù)雜的UI也可以重寫其他方法??梢哉J(rèn)為是SimpleAdapter對(duì)數(shù)據(jù)庫(kù)的簡(jiǎn)單結(jié)合,可以方便地把數(shù)據(jù)庫(kù)的內(nèi)容以列表的形式展示出來(lái)。

      2.應(yīng)用案例

      1)ArrayAdapter

      列表的顯示需要三個(gè)元素:

      a.ListVeiw 用來(lái)展示列表的View。

      b.適配器 用來(lái)把數(shù)據(jù)映射到ListView上的中介。

      c.?dāng)?shù)據(jù) 具體的將被映射的字符串,圖片,或者基本組件。

      案例一

      案例二

      上面代碼使用了ArrayAdapter(Context context, int textViewResourceId, List<T> objects)來(lái)裝配數(shù)據(jù),要裝配這些數(shù)據(jù)就需要一個(gè)連接ListView視圖對(duì)象和數(shù)組數(shù)據(jù)的適配器來(lái)兩者的適配工作,ArrayAdapter的構(gòu)造需要三個(gè)參數(shù),依次為this,布局文件(注意這里的布局文件描述的是列表的每一行的布局,android.R.layout.simple_list_item_1是系統(tǒng)定義好的布局文件只顯示一行文字,數(shù)據(jù)源(一個(gè)List集合)。同時(shí)用setAdapter()完成適配的最后工作。效果圖如下:

      2)SimpleAdapter  simpleAdapter的擴(kuò)展性最好,可以定義各種各樣的布局出來(lái),可以放上ImageView(圖片),還可以放上Button(按鈕),CheckBox(復(fù)選框)等等。下面的代碼都直接繼承了ListActivity,ListActivity和普通的Activity沒有太大的差別,不同就是對(duì)顯示ListView做了許多優(yōu)化,方面顯示而已。

      Android之Adapter用法總結(jié)(安卓中adapter)

      案例一

      simple.xml

      案例二  下面的程序是實(shí)現(xiàn)一個(gè)帶有圖片的類表。首先需要定義好一個(gè)用來(lái)顯示每一個(gè)列內(nèi)容的xml,vlist.xml

        使用simpleAdapter的數(shù)據(jù)用一般都是HashMap構(gòu)成的List,list的每一節(jié)對(duì)應(yīng)ListView的每一行。HashMap的每個(gè)鍵&#;數(shù)據(jù)映射到布局文件中對(duì)應(yīng)id的組件上。因?yàn)橄到y(tǒng)沒有對(duì)應(yīng)的布局文件可用,我們可以自己定義一個(gè)布局vlist.xml。下面做適配,new一個(gè)SimpleAdapter參數(shù)一次是:this,布局文件(vlist.xml),HashMap的 title 和 info,img。布局文件的組件id,title,info,img。布局文件的各組件分別映射到HashMap的各元素上,完成適配。

      運(yùn)行效果如下圖:

      3)SimpleCursorAdapter

      一定要以數(shù)據(jù)庫(kù)作為數(shù)據(jù)源的時(shí)候,才能使用SimpleCursorAdapter,這里特別需要注意的一點(diǎn)是:不要忘了在AndroidManifest.xml文件中加入權(quán)限

      效果如下:

      4)BaseAdapter

        有時(shí)候,列表不光會(huì)用來(lái)做顯示用,我們同樣可以在在上面添加按鈕。添加按鈕首先要寫一個(gè)有按鈕的xml文件,然后自然會(huì)想到用上面的方法定義一個(gè)適配器,然后將數(shù)據(jù)映射到布局文件上。但是事實(shí)并非這樣,因?yàn)榘粹o是無(wú)法映射的,即使你成功的用布局文件顯示出了按鈕也無(wú)法添加按鈕的響應(yīng),這時(shí)就要研究一下ListView是如何現(xiàn)實(shí)的了,而且必須要重寫一個(gè)類繼承BaseAdapter。下面的示例將顯示一個(gè)按鈕和一個(gè)圖片,兩行字如果單擊按鈕將刪除此按鈕的所在行。并告訴你ListView究竟是如何工作的。

      vlist2.xml

        下面將對(duì)上述代碼,做詳細(xì)的解釋,listView在開始繪制的時(shí)候,系統(tǒng)首先調(diào)用getCount()函數(shù),根據(jù)他的返回&#;得到listView的長(zhǎng)度(這也是為什么在開始的第一張圖特別的標(biāo)出列表長(zhǎng)度),然后根據(jù)這個(gè)長(zhǎng)度,調(diào)用getView()逐一繪制每一行。如果你的getCount()返回&#;是0的話,列表將不顯示同樣return 1,就只顯示一行。

        系統(tǒng)顯示列表時(shí),首先實(shí)例化一個(gè)適配器(這里將實(shí)例化自定義的適配器)。當(dāng)手動(dòng)完成適配時(shí),必須手動(dòng)映射數(shù)據(jù),這需要重寫getView()方法。系統(tǒng)在繪制列表的每一行的時(shí)候?qū)⒄{(diào)用此方法。getView()有三個(gè)參數(shù),position表示將顯示的是第幾行,covertView是從布局文件中inflate來(lái)的布局。我們用LayoutInflater的方法將定義好的vlist2.xml文件提取成View實(shí)例用來(lái)顯示。然后將xml文件中的各個(gè)組件實(shí)例化(簡(jiǎn)單的findViewById()方法)。這樣便可以將數(shù)據(jù)對(duì)應(yīng)到各個(gè)組件上了。但是按鈕為了響應(yīng)點(diǎn)擊事件,需要為它添加點(diǎn)擊監(jiān)聽器,這樣就能捕獲點(diǎn)擊事件。至此一個(gè)自定義的listView就完成了,現(xiàn)在讓我們回過(guò)頭從新審視這個(gè)過(guò)程。系統(tǒng)要繪制ListView了,他首先獲得要繪制的這個(gè)列表的長(zhǎng)度,然后開始繪制第一行,怎么繪制呢?調(diào)用getView()函數(shù)。在這個(gè)函數(shù)里面首先獲得一個(gè)View(實(shí)際上是一個(gè)ViewGroup),然后再實(shí)例并設(shè)置各個(gè)組件,顯示之。好了,繪制完這一行了。那再繪制下一行,直到繪完為止。在實(shí)際的運(yùn)行過(guò)程中會(huì)發(fā)現(xiàn)listView的每一行沒有焦點(diǎn)了,這是因?yàn)锽utton搶奪了listView的焦點(diǎn),只要布局文件中將Button設(shè)置為沒有焦點(diǎn)就OK了。

      效果如下:

      原文:

      onSaveInstanceState和onRestoreInstanceState觸發(fā)的時(shí)機(jī) 當(dāng)某個(gè)activity變得容易被系統(tǒng)銷毀時(shí),該activity的onSaveInstanceState就會(huì)被執(zhí)行,除非該activity是被用戶主動(dòng)銷毀的,例如當(dāng)用戶按BACK鍵的時(shí)候。注意上面的

      Android Volley框架的使用(三) Volley框架的學(xué)習(xí)馬上就可以殺青了,哈哈,有木有點(diǎn)小激動(dòng)呢,之所以將這個(gè)框架分成三篇來(lái)寫,而且涉及的細(xì)節(jié)比較多,是因?yàn)榭紤]到后面還要學(xué)習(xí)

      歡迎使用CSDN-markdown編輯器 Android項(xiàng)目實(shí)訓(xùn)記錄(一)學(xué)校里來(lái)了某某IT培訓(xùn)機(jī)構(gòu)(為了避免廣告嫌疑,就不曝名字了)的講師來(lái)為我們進(jìn)行實(shí)訓(xùn),對(duì)于我這種從未接觸過(guò)正規(guī)項(xiàng)目

      標(biāo)簽: 安卓中adapter

      本文鏈接地址:http://esstyw.cn/biancheng/382293.html 轉(zhuǎn)載請(qǐng)保留說(shuō)明!

      上一篇:Android面試寶典(一位優(yōu)秀應(yīng)屆生面試經(jīng)驗(yàn),很多Android高階問(wèn)題)(android面試2021)

      下一篇:onSaveInstanceState和onRestoreInstanceState觸發(fā)的時(shí)機(jī)

    2. 小型微利企業(yè)所得稅率
    3. 23年一般納稅人稅收政策是什么
    4. 后期裝修改造費(fèi)用計(jì)入什么科目
    5. 什么公司不可以上市
    6. 注銷公司賬面余額要全部清零嗎
    7. 社保多交退款多久到賬
    8. 現(xiàn)金流量為負(fù)的隱患
    9. 結(jié)轉(zhuǎn)凈利潤(rùn)到利潤(rùn)分配分錄
    10. 支付招聘費(fèi)收到專票怎么記賬
    11. 農(nóng)產(chǎn)品核定扣除范圍
    12. 有限合伙合伙人要求
    13. 商業(yè)承兌匯票風(fēng)險(xiǎn)大嗎
    14. 無(wú)形資產(chǎn)根據(jù)什么填列資產(chǎn)負(fù)債表
    15. 將外購(gòu)貨物分配給客戶
    16. 先收入后開票如何做賬
    17. 稅控盤怎么作廢發(fā)票重新開
    18. 企業(yè)個(gè)人所得稅逾期未申報(bào)怎么辦
    19. 關(guān)于增值稅發(fā)票開具的最新規(guī)定
    20. 增值稅電子發(fā)票有限額嗎
    21. 申報(bào)表作廢后怎么顯示的是已申報(bào),不能重新申報(bào)
    22. 出口外貿(mào)海運(yùn)費(fèi)的會(huì)計(jì)處理
    23. 租金返還方式銷售
    24. 金融機(jī)構(gòu)計(jì)提減值準(zhǔn)備
    25. 委托加工物資合并報(bào)表
    26. 一次性收取一年服務(wù)費(fèi)怎么確定收入
    27. 逾期交房違約金怎么算
    28. 存貨跌價(jià)準(zhǔn)備的金額
    29. 安裝費(fèi)如何做賬
    30. 如何在excel中計(jì)算兩列數(shù)值的差
    31. 債轉(zhuǎn)股是好還是壞
    32. php如何實(shí)現(xiàn)多進(jìn)程
    33. 貨物運(yùn)輸業(yè)增值稅專用發(fā)票可以抵扣嗎
    34. 餐費(fèi)專用發(fā)票怎么抵扣
    35. linux中l(wèi)s命令的意思
    36. 進(jìn)出口商品的稅率是多少
    37. 公允價(jià)值變動(dòng)損益借貸方向增減
    38. gws.exe是啥
    39. php初學(xué)
    40. 應(yīng)收款余額在借方什么意思
    41. symerr函數(shù)
    42. php實(shí)現(xiàn)登錄功能
    43. 季報(bào)彌補(bǔ)虧損,財(cái)報(bào)怎么填
    44. 哪些費(fèi)用計(jì)入管理費(fèi)用中
    45. 購(gòu)銷合同印花稅稅率
    46. 帝國(guó)cms使用手冊(cè)
    47. 建筑業(yè)營(yíng)改增前后區(qū)別
    48. 無(wú)償提供房屋使用證明有什么后果
    49. 記賬憑證摘要怎么填寫
    50. 營(yíng)業(yè)外支出的計(jì)算公式
    51. mssqlserver數(shù)據(jù)能刪嗎
    52. 畜類生產(chǎn)性生物資產(chǎn)計(jì)算折舊的最低年限
    53. 暫估入庫(kù)有時(shí)間限制嗎
    54. 怎么調(diào)整應(yīng)收賬款分錄
    55. 小規(guī)模取得增值稅專用發(fā)票怎么做賬
    56. 費(fèi)用分?jǐn)偪颇?/a>
    57. 跨年度退貨
    58. 行政單位工會(huì)經(jīng)費(fèi)
    59. 資產(chǎn)利潤(rùn)表
    60. 收到收到
    61. sql server 數(shù)據(jù)查詢
    62. 電腦怎么安裝安全控件
    63. 啟用與禁用的英文
    64. 硬盤安裝fedora35
    65. 深入了解XP中“最后一次正確配置”功能
    66. linux安裝有幾種方法
    67. 系統(tǒng)警告設(shè)置
    68. mac字體調(diào)節(jié)大小
    69. windows8怎么去除廣告
    70. win8.1優(yōu)化工具
    71. win7系統(tǒng)筆記本無(wú)線網(wǎng)絡(luò)找不到
    72. 正二十面體怎么建模
    73. 繪制多邊形工具使用方法
    74. 在Debian(Raspberry Pi)樹莓派上安裝NodeJS的教程詳解
    75. js標(biāo)志
    76. node.js express中app.param的用法詳解
    77. js實(shí)現(xiàn)自定義打印
    78. js如何獲取當(dāng)前頁(yè)面的url
    79. android多語(yǔ)言失效
    80. 建筑勞務(wù)個(gè)人所得稅申報(bào)
    81. 屠宰場(chǎng)需要環(huán)評(píng)嗎
    82. 免責(zé)聲明:網(wǎng)站部分圖片文字素材來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)及時(shí)告知,我們會(huì)第一時(shí)間刪除,謝謝! 郵箱:opceo@qq.com

      鄂ICP備2023003026號(hào)

      網(wǎng)站地圖: 企業(yè)信息 工商信息 財(cái)稅知識(shí) 網(wǎng)絡(luò)常識(shí) 編程技術(shù)

      友情鏈接: 武漢網(wǎng)站建設(shè)