3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
在ListView的使用中,有時候還需要在裡面加入按鈕等控制項,實現單獨的操作。也就是說,這個ListView不再只是展示數據,也不僅僅是這一行要來處理用戶的操作,而是裡面的控制項要獲得用戶的焦點。讀者可以試試用SimpleAdapter添加一個按鈕到ListView的條目中,會發現可以添加,但是卻無法獲得焦點,點擊操作被ListView的Item所覆蓋。這時候最方便的方法就是使用靈活的適配器BaseAdapter了。一、使用BaseAdapter BaseAdapter是Android應用程序中經常用到的基礎數據適配器的基類,它實現了Adapter介面。其主要用途是將一組數據傳到像ListView、Spinner、Gallery及GridView等UI顯示組件進行顯示。 由於BaseAdapter是一個抽象類,所以使用BaseAdapter時必須有一個類繼承它,並實現它的方法。BaseAdapter的靈活性就在其要重寫的很多方法,常會重寫的幾個方法如下。int getCount:主要是獲得列表項的數量。Object getItem(int position):主要是獲得當前列表項。long getItemId(int position):主要是獲得當前列表項的ID。View getView(int position, View convertView, ViewGroup parent):主要是獲得第position處的列表項組件。二、示例 接下來通過一個示常式序來學習如何自定義BaseAdapter創建ListView。 繼續使用WidgetSample工程,在app/main/res/layout/目錄下創建custom_baseadapter_layout.xml文件,在其中填充如下代碼片段: 在res/layout/目錄下新建一個custom_baseadapter_item.xml的列表項布局文件,其代碼如下: 考慮到每個列表項都可以是一個非常複雜的實體對象,用一個實體類更方便數據管理。創建一個類,代碼如下: 創建一個MyBaseAdapter類,繼承BaseAdapter類,重寫其4個主要方法,具體代碼如下: 上面程序中最重要的就是getView方法,其返回列表項組件。 接下來為ListView提供Adapter,使用自定義的BaseAdapter決定ListView所要顯示的列表項。新建CustomBaseAdapterActivity.java文件,載入上面新建的布局文件,具體代碼如下: 可以發現使用自定義BaseAdapter創建ListView,界面交互代碼非常簡潔,卻可以實現非常複雜的界面。 運行程序,可以看到下圖所示界面效果。 至此,關於ListView中常用的幾個Adapter基本學習完畢,如果還沒有掌握建議回頭再多練習。從下一期開始來優化我們的ListView,提供我們的Android程序運行效率。 今天就先到這裡,如果有問題歡迎留言一起探討,也歡迎加入Android零基礎入門技術討論微信群,共同成長! 此文章版權為微信公眾號分享達人秀(ShareExpert)——鑫鱻所有,若需轉載請聯繫作者授權,特此聲明!往期總結分享: 第1節:Android的前世今生 第2節:Android 系統架構和應用組件那些事 第3節:帶你一起來聊一聊Android開發環境 第4節:正確安裝和配置JDK 第5節:善用ADT Bundle 第6節:配置優化SDK Manager 第7節:搞定Android模擬器 第8節:HelloWorld,第一趟旅程出發點 第9節:Android實戰,不懂代碼也可以開發 第10節:開發IDE迎來Android Studio 第11節:運行Android Studio工程 第12節:熟悉Android Studio界面 第13節:Android Studio配置優化 第14節:使用高速Genymotion 第15節:掌握Android Studio項目結構 第16節:Android用戶界面開發概述 第17節:TextView屬性和方法大全 第18節:EditText的屬性和使用方法 第19節:Button使用詳解 第20節:CheckBox和RadioButton使用大全 第21節:ToggleButton和Switch使用大全 第22節:ImageView的屬性和方法大全 第23節:ImageButton和ZoomButton使用 第24節:自定義View簡單使用 第25節:簡單且最常用的LinearLayout 第26節:layout_gravity和gravity大不同 第27節:正確使用padding和margin 第28節:輕鬆掌握RelativeLayout相對布局 第29節:善用TableLayout表格布局 第30節:兩分鐘掌握FrameLayout幀布局 第31節:少用的AbsoluteLayout絕對布局 第32節:新推出的GridLayout網格布局 第33節: Android事件處理概述 第34節:Android中基於監聽的事件處理 第35節:Android中基於回調的事件處理 第36節:Android系統事件的處理 第37節:初識ListView 第38節:初識Adapter 第39節:ListActivity和自定義列表項 第40節:自定義ArrayAdapter 第41節:使用SimpleAdapter

本文由yidianzixun提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦