日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 中文 API (93) —— BaseExpandableListAdapter

發布時間:2025/7/14 Android 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 中文 API (93) —— BaseExpandableListAdapter 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

  本章內容是android.widget.BaseExpandableListAdapter,版本為Android 2.3 r1,翻譯來自"天涯明月刀",歡迎大家訪問他的博客:http://sd6733531.javaeye.com/,再次感謝"天涯明月刀" !期待你一起參與Android 中文API的翻譯,聯系我over140@gmail.com。
?

?

聲明

  歡迎轉載,但請保留文章原始出處:)
?

    農民伯伯:http://over140.blog.51cto.com/

    Android中文翻譯組:http://goo.gl/6vJQl
?

?

正文

  一、結構

?

?

public abstract class BaseExpandableListAdapter extends Object

implements ExpandableListAdapter, HeterogeneousExpandableList

?

java.lang.Object

android.widget.BaseExpandableListAdapter

?

直接子類

???????? ?????? CursorTreeAdapter,SimpleExpandableListAdapter

間接子類

ResourceCursorTreeAdapter, SimpleCursorTreeAdapter

?

?

  二、概述

?

  BaseExpandableListAdapterExpandableListAdapter的抽象基類,從一些數據中提供數據和視圖給可折疊列表視圖。

  所有繼承本類的Adapters需要保證實現的getCombinedChildId(long, long) getCombinedGroupId(long)方法能正確地從View組或View子元素的ID中生成唯一的ID號。

  (譯者注:組元素表示可折疊的列表項,子元素表示列表項展開后看到的多個子元素項。由于可折疊列表單純尋找組元素和子元素的ID不是很方便,因此使用聯合ID的方式來解決。于是有了getCombinedChildId()getCombinedGroupId()方法。在andorid自帶的ApiDomos的例子中有這個的代碼:App/View/ExpandableList1)。

?

?

  三、公共方法
?

?

  public boolean areAllItemsEnabled ()

  是否啟用所有元素。

?

  public int getChildType (int groupPosition, int childPosition)

  獲取由getChildView(int, int, boolean, View, ViewGroup)方法創建的指定子元素類型。

  參數

????????????????   groupPosition?子元素所在的組位置

?????????????????????? childPosition?子元素所在的位置

???????????????? 返回值

?????????????????????? 0表示任意一個子元素類型,因此此時應當只聲明一種子元素類型。

?

  public?int?getChildTypeCount()

  獲取由getChildView(int, int, boolean, View, ViewGroup)創建的所有子元素類型個數。每種類型表示一個能被getChildView(int, int, boolean, View, ViewGroup)轉換的(任意組中的)View集合。如果適配器總是從所有的子元素中返回同一種類型,本方法將返回1

  本方法將僅僅在AdapterView設置適配器時被調用。

??????????   返回值

????????????????   BaseExpandableListAdapter默認返回1

?

  public long?getCombinedChildId?(long groupId, long childId)

  若你預見以下默認實現的IDs可能出現沖突,請重寫本方法。

  實現返回一個long型:

  *0:不管ID指向的是一個子元素(未設置)還是一個組(已設置),對于本方法bit值為1.

  * 1-31:小于31位的組ID

  * 32-63:小于32位的子元素ID

  從列表所有項(組或子項)中獲得一個唯一的子ID號。可折疊列表要求每個元素(組或子項)在所有的子元素和組中有一個唯一的ID。本方法負責根據所給的子ID號和組ID號返回唯一的ID。此外,若hasStableIds()true,那么必須要返回穩定的ID

???????????  ? 參數

????????????????   groupID?? 包含該子元素的組ID

????????????????   childID????? 子元素的ID

???????????????? 返回

????????????????   列表所有項(組或子項)中唯一的(和可能穩定)的子元素ID號。

?

  public long?getCombinedGroupId?(long groupId)

  若你預見以下默認實現產生IDs沖突的話,請重寫本方法。

  實現返回一個long型:

 ? * 0:不管ID指向的是一個子元素(未設置)還是一個組(已設置),對于本方法bit值為1.

 ? * 1-31:小于31位的組ID

 ? * 32-63:小于32位的子元素ID

  從列表所有項(組或子項)中獲得一個唯一的子ID號。可折疊列表要求每個元素(組或子項)在所有的子元素和組中有一個唯一的ID。本方法負責根據所給的子ID號和組ID號返回唯一的ID。此外,若hasStableIds()true,那么必須要返回穩定的ID

  參數

????????????????   groupID?? 包含該子元素的組ID

???????????????? 返回

????????????????   列表所有項(組或子項)中唯一的(和可能穩定)的子元素ID號。

?

  public int?getGroupType?(int groupPosition)

  獲得由getGroupView(int, boolean, View, ViewGroup)方法創建的組元素類型。為設置的組元素。

???   參數

???????   groupPosition 應返回類型所在組的位置

???   返回

???????   0表示任意組位置,因此此時應當只申明了一種組類型。

?

  public int?getGroupTypeCount?()

  返回由getGroupView(int, boolean, View, ViewGroup)方法創建的組視圖類型個數。每個類型表示一個能被getGroupView(int, boolean, View, ViewGroup)轉換的View集合。如果適配器總是返回同一種組類型,則此時本方法將返回1.

  本方法將僅當適配器被AdapterView設置時調用。

??????????? 返回

???????????   BaseExpandableListAdapter默認返回1.

?

  public boolean?isEmpty?()

????????? (譯者注:如果適配器沒有任何數據,返回真。參見Adapter

?

  public void?notifyDataSetChanged?()

  (譯者注:當后臺數據集發生改變時,調用此方法響應數據集的更改。)

  參見

notifyChanged()

?

  public void?notifyDataSetInvalidated?()

???????????   (譯者注:當后臺數據集不被驗證的時候,調用此方法。)

?????    參見

???????? notifyInvalidated()

?

  public void?onGroupCollapsed?(int groupPosition)

  當組折疊的時候被調用。

?????????????????? 參數

??????????????????????????? groupPosition 要折疊的組所在位置

?

  public void?onGroupExpanded?(int groupPosition)

  當組展開的時候被調用。

?????????????????? 參數

??????????????????????????? groupPosition 要折疊的組所在位置

?

  public void?registerDataSetObserver?(DataSetObserver observer)

  (譯者注:注冊當用該適配器修改數據時調用的觀察器。

?

  public void?unregisterDataSetObserver?(DataSetObserver?observer)

  (譯者注:注銷之前通過 registerDataSetObserver(DataSetObserver) 方法注冊到該適配器的觀察器。

?

?

  四、補充
?

?

???????? 文章鏈接

???????? ???????? Android BaseExpandableListAdapter 教程

轉載于:https://blog.51cto.com/over140/582413

總結

以上是生活随笔為你收集整理的Android 中文 API (93) —— BaseExpandableListAdapter的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。