Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android ApiDemos示例解析(2) SimpleAdapter,ListActivity,PackageManager

Android ApiDemos示例解析(2) SimpleAdapter,ListActivity,PackageManager

編輯:Android開發教程

創建好ApiDemo項目後,就可以逐個示例的來分析代碼,這裡假定讀者已對Android開發有些了解或是讀過Android簡明開發教 程。

首先是看ApiDemo的主Activity: com.example.android.apis.ApiDemos ,這個主Activity為ListActivity的子類, 主要用來列出ApiDemos中的200多個實例,實例采取分類層次顯示。

在ApiDemos 的 onCreate()中代碼:

setListAdapter(new SimpleAdapter(this, getData(path),
 android.R.layout.simple_list_item_1, new String[] { "title" },     
 new int[] { android.R.id.text1 }));

SimpleAdatper 作為數據源 getData(path) 與 UI ListActivity 之間的橋 梁,它的構造函數如下:

SimpleAdapter(Context context, List<? extendsMap<String, ?>> data, int resource,String[] from, int[] to)

我們知道ListActivity可以用來顯示一個列表,在使用SimpleAdapter時可以借用二維表來更好的理解。 SimpleAdapter的 數據源data 類型為List<? extendsMap<String, ?>> List 中每一項為一個Map對象,相當於二維表中一行,這一 行可以有多列,每列可以有個名字,為Map<String,?> string ,相當於表的列名:

ApiDemos中每條記錄 只顯示一列”title”。 android.R.layout.simple_list_item_1 為用來顯示每條記錄的Layout資源id, ListActivity允許使 用自定義Layout ,這裡使用了Android系統資源,simple_list_item_1由一個TextView構成,其id為text1.

new String [] { “title” } 為需要顯示的列表的數組,ApiDemos只顯示一列“title”,如果有多列:則可以為new String[] { “title ”,”field1”,”field2”,”field3” }。

new int[] { android.R.id.text1 }則指定使用 android.R.layout.simple_list_item_1 中 id 為text1的 TextView 來顯示 “title” 列。 如果有多列,Layout可以定義多 個View (不一定都為TextView) ,然後為每列指定顯示的View的id。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved