ListView項(Item)的三種佈局
List中的item佈局有三種:
自定義的佈局,使用了相對佈局(RelativeLayout,見list_item.xml),左側一個圖片,右側上方是字型比較大的title,下方是字型稍小的description;
第二種是Android自帶的佈局(見原始碼裡的simple_list_item_2.xml),主要是一個垂直的LinearLayout,裡面包含兩個ID分別為text1、text2的TextView,這兩個TextView的字型大小不一樣,一個帶textAppearanceLarge屬性,另外一個帶textAppearanceSmall屬性;
第三種也是Android自帶的佈局(見原始碼裡的two_line_list_item.xml),主要是一個垂直的LinearLayout,裡面包含兩個ID分別為text1、text2的TextView,這兩個TextView的字型大小一樣,但每個TextView還帶一個字型加粗的屬性。
SimpleAdapter的使用:
建構函式: SimpleAdapter(Context context, List> data, int resource, String[] from, int[] to)
引數有5個:
context:也就是上下文,而Activity都是繼承於Context的,所以這個引數一般使用Activity的例項;
data:型別要為一個List的子類,且List中的每個元素都必須為Map的子類,每個Map中以有一對或多對的Key-Value對,這些值與下面的引數from有對應;
resource:這是每個List項(Item)對應的XML佈局資原始檔名,在裡面控制List項顯示的元素以及相對位置;
from:是一個字串陣列,可以理解為列名,對應於data資料中Map元素的Key值,只有包含在這個字串陣列的元素對應到Map中的Value值才能顯示到TextView中(這些TextView在最後一個引數to配置),所以這些Value值需要為字串或者有toString()的方法;
to:TextView元件ID的陣列,上面的from引數配置了Key值,而根據這個Key值從data引數裡的map取出的value值需要設定到TextView中,而這些TextView的id需要在這個陣列中配置。而且這些TextView需要在引數resource對應的XML資原始檔中配置。
相關文章
- Android listView奇偶項採用不同的佈局AndroidView
- Flutter 開發從 0 到 1(三)佈局與 ListViewFlutterView
- CSS三欄佈局的四種方法CSS
- 三欄佈局的n種實現
- 支援粘性Item的RecyclerView佈局管理器View
- 三種方法實現CSS三欄佈局CSS
- 實現三欄佈局的幾種方法
- CSS三欄佈局的五種寫法CSS
- 居中佈局、三欄佈局
- CSS+DIV佈局三種定位方式CSS
- 三欄式佈局的幾種實現方式
- CSS三欄佈局的5種方法詳解CSS
- 12種常見的div+css佈局例項CSS
- ListView或RecyclerView子項item複用資料錯亂View
- CSS佈局之三欄佈局CSS
- 網頁佈局------幾種佈局方式網頁
- Flutter 佈局(十)- ListBody、ListView、CustomMultiChildLayout詳解FlutterView
- Flex佈局-子項Flex
- (基礎)多欄佈局的三種基本實現方案
- css經典佈局系列三——三列布局(聖盃佈局、雙飛翼佈局)CSS
- 三欄佈局之自適應佈局
- CSS 兩欄佈局和三欄佈局CSS
- 常用兩欄佈局和三欄佈局
- iOS UICollectionViewCell的一種佈局iOSUIView
- css佈局-實現左中右佈局的5種方式CSS
- Grid 佈局-子項補充及常用佈局
- CSS 三欄佈局之聖盃佈局和雙飛翼佈局CSS
- 三列自適應佈局(聖盃佈局)
- CSS:三欄佈局之雙飛翼佈局CSS
- CSS 列表項佈局技巧CSS
- css網頁的幾種佈局CSS網頁
- 幾種常見的CSS佈局CSS
- 前端常見的十種佈局前端
- Qt的5種常用佈局搭建QT
- CSS佈局-各種居中CSS
- CSS 5種佈局方案CSS
- ListView,點選每一個Item,如何獲取當前Item的資料?View
- CSS多種佈局方式自我實現-水平佈局(二)CSS