search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

Android零基礎入門|自定義BaseAdapter

在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 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦