精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android ApiDemo示例解讀2:ListActivity

移動開發 Android
如上一節中所講的那樣創建了ApiDemo工程后,我們就可以進行每個示例代碼的分析了。讀者應對Android開發有基本的了解或讀過Android開發方面的基礎教程。

如上一節中所講的那樣創建了ApiDemo工程后,我們就可以進行每個示例代碼的分析了。讀者應對Android開發有基本的了解或讀過Android開發方面的基礎教程。

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

在ApiDemos的onCreate()中的代碼:

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

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

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

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

Android ApiDemo示例解讀系列之二:ListActivity、SimpleAdapter和PackageManager

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。

再來看看getData(path)是如何定義的,protected List getData(String prefix) 返回一個列表。

  1. protected List getData(String prefix) {    
  2. List<Map> myData = new ArrayList<Map>();    
  3.      
  4. Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);    
  5. mainIntent.addCategory(Intent.CATEGORY_SAMPLE_CODE);    
  6.      
  7. PackageManager pm = getPackageManager();    
  8. List<ResolveInfo> list = pm.queryIntentActivities(mainIntent, 0);    
  9.      
  10. ... ...    
  11. for (int i = 0; i < len; i++) {    
  12. ...    
  13. if ((prefixPath != null ? prefixPath.length : 0) == labelPath.length - 1) {    
  14. addItem(myData, nextLabel, activityIntent(    
  15. info.activityInfo.applicationInfo.packageName,    
  16. info.activityInfo.name));    
  17. else {    
  18. if (entries.get(nextLabel) == null) {    
  19. addItem(myData, nextLabel,    
  20. browseIntent(prefix.equals("") ? nextLabel : prefix + "/" + nextLabel));    
  21. entries.put(nextLabel, true);    
  22. }    
  23. }    
  24. }    
  25. }    
  26.      
  27. Collections.sort(myData, sDisplayNameComparator);    
  28.      
  29. return myData;    
  30. }   

它通過PackageManager 從 AndroidManifest.xml中讀取所以Intent-Filter含有:Intent.ACTION_MAIN和 Intent.CATEGORY_SAMPLE_CODE所有Activity信息。前面說過200多個示例根據其功能分類,比如 Hello World示例它的Label為

App/Activity/<b>Hello <i>World</i></b>,

表示它的分類為分類App下Activity子類。getData(String prefix)根據每個Activity的Label屬性和當前層次(prefix)來決定當前列表中某項為葉子列表項,還是分類列表項,如果是葉子列表 項,則添加為activityIntent,當用戶點擊改列表項時則會觸發該示例。若是分類列表項,則添加為 browseIntent,browseIntent還是觸發ApiDemos Activity,但Intent帶有Extra信息,表示需要顯示改分類下的子類:

  1. Intent result = new Intent();    
  2. result.setClass(this, ApiDemos.class);    
  3. result.putExtra("com.example.android.apis.Path", path); 

此時如果用戶點擊改節點列表項,則會進入還分類下級目錄。

  1. protected void addItem(List<Map> data, String name, Intent intent) {    
  2. Map<String, Object> temp = new HashMap<String, Object>();    
  3. temp.put("title", name);    
  4. temp.put("intent", intent);    
  5. data.add(temp);    
  6. }    
  7.      
  8. @Override   
  9. protected void onListItemClick(ListView l, View v, int position, long id) {    
  10. Map map = (Map) l.getItemAtPosition(position);    
  11.      
  12. Intent intent = (Intent) map.get("intent");    
  13. startActivity(intent);    
  14. }   

addItem 給返回的List中添加一項,每個記錄含兩列:“title”,“intent” ,其中只顯示“title”列,如果想要顯示“intent”列的信息,就不能使用 android.R.layout.simple_list_item_1 了,這時可以另外定義一個Layout 來顯示多列數據。 intent可以為觸發示例,如”Hello World”或是下級示例列表,此時觸發的Activity還是ApiDemos。

此外,ApiDemo還定義了ApiDemosApplication做為Application的子類,如果需要在多個Activity共享一些數據, 可以定義在Application中。如果使用了自定義的Application,別忘了修改AndroidManifest.xml ,如下:

  1. <application android:name=”ApiDemosApplication”    
  2. android:label=”@string/activity_sample_code”    
  3. android:icon=”@drawable/app_sample_code” >   
  4. …    
  5. </application>  
責任編輯:閆佳明 來源: jizhuomi
相關推薦

2013-12-19 13:40:44

Android ApiAndroid開發Android SDK

2013-12-19 14:32:31

Android ApiAndroid開發Android SDK

2013-12-19 14:34:52

Android ApiAndroid開發Android SDK

2013-12-19 14:36:43

Android ApiAndroid開發Android SDK

2013-12-19 14:13:16

Android ApiAndroid開發Android SDK

2013-12-19 14:16:46

Android ApiAndroid開發Android SDK

2013-12-19 14:28:04

Android ApiAndroid開發Android SDK

2013-12-19 14:00:39

Android ApiAndroid開發Android SDK

2013-12-19 16:26:29

Android ApiAndroid開發Android SDK

2010-01-28 10:03:19

Android Lis

2010-02-02 14:22:50

Python示例

2010-02-01 11:22:09

C++虛函數

2010-03-02 14:41:00

WCF行為控制

2010-03-05 10:47:05

Python futu

2010-02-04 16:07:39

C++回調函數

2010-01-04 17:03:27

Silverlight

2010-01-19 17:03:25

VB.NET可執行語句

2010-01-08 10:48:05

VB.NET多線程

2010-01-05 09:57:34

.NET Framew

2010-01-28 13:56:16

Android震動
點贊
收藏

51CTO技術棧公眾號

99亚洲视频| 日韩一区网站| 国产精品私房写真福利视频| 国产免费成人av| 国产精品久久久精品四季影院| 精品视频在线观看免费观看| 天天综合网 天天综合色| 日韩av电影免费观看| 国产色综合视频| 国产精品久久久久久久免费软件| 色哟哟入口国产精品| 永久免费未满蜜桃| 久久免费资源| 欧美日韩亚洲一区二| 中文一区一区三区免费| 亚洲区小说区图片区| 久久99精品国产麻豆婷婷| 国内自拍欧美激情| 成人一级黄色大片| 九九免费精品视频在线观看| 欧美一区二区播放| 91看片就是不一样| 黄色美女视频在线观看| 中文字幕av免费专区久久| 好看的日韩精品| 国产乱人乱偷精品视频a人人澡| 午夜在线精品偷拍| 久久久久久久久久久av| 永久免费看mv网站入口| 精品久久久久久久久久久aⅴ| 亚洲国产中文字幕久久网| www.桃色.com| 国产亚洲精品精品国产亚洲综合| 五月天婷婷综合| 中文字幕色呦呦| 自拍视频在线播放| 久久久久久97三级| 久久久久久久久一区| 精品人妻一区二区三区日产乱码 | 成人动漫视频在线| 91在线观看免费| 一级特黄特色的免费大片视频| 久久天天综合| 欧美在线播放视频| 国产精品自拍99| 日韩午夜激情| 91sa在线看| 日韩欧美中文字幕一区二区| 亚洲精品1234| 69av在线播放| 韩国av中文字幕| 国产深夜精品| 国产999在线| 成人a v视频| 日韩精品乱码免费| 国产精品美女久久久久av超清| 日本黄色中文字幕| 天堂资源在线中文精品| 26uuu亚洲伊人春色| 日韩精品在线免费视频| 久久久久国产精品一区二区| 国产成人精品视频在线| www.亚洲激情| 精品一区二区在线播放| 91系列在线观看| av老司机久久| 成人免费的视频| 国产女人水真多18毛片18精品| 男人天堂一区二区| 99久久精品99国产精品| 青青草成人激情在线| 成人资源www网在线最新版| 国产精品进线69影院| 四虎影院一区二区| 欧美videos另类精品| 亚洲成人免费看| 日本黄色三级大片| 九九久久国产| 日韩女同互慰一区二区| 99re久久精品国产| 欧美日韩有码| 欧美成人sm免费视频| 黄网站免费在线| 丝袜美腿一区二区三区| 国产精品永久免费| 免费a级片在线观看| 久久久综合激的五月天| 亚洲一区二区精品在线观看| 色噜噜狠狠狠综合欧洲色8| 欧美日韩精品在线视频| 亚洲一级免费观看| 91蝌蚪精品视频| 国产亚洲精品91在线| 九九热最新地址| 久久国产高清| 97视频资源在线观看| 免费黄色片在线观看| 亚洲柠檬福利资源导航| 日韩网址在线观看| 亚洲精品18| 亚洲深夜福利网站| 欧美日韩精品一区二区三区视频播放| 久久国产精品久久久久久电车| 91在线|亚洲| 成人免费高清在线播放| 亚洲超丰满肉感bbw| 国产又黄又猛又粗| 日韩影视在线观看| 免费成人高清视频| 国产偷人爽久久久久久老妇app | 偷拍精品精品一区二区三区| 91精品国产91久久久久久最新毛片 | youjizz国产精品| 亚洲激情一区二区| 三妻四妾的电影电视剧在线观看| 91精品在线免费观看| 在线观看福利片| 亚洲激情社区| 亚洲综合最新在线| 伊人免费在线| 在线看一区二区| 欧美丰满少妇人妻精品| 欧美精品黄色| 91久久极品少妇xxxxⅹ软件| 成年人视频在线观看免费| 欧美日韩午夜剧场| 国产女人18毛片水真多18| 中国成人一区| 国产在线播放91| av黄色在线观看| 一本色道综合亚洲| 久久国产精品无码一级毛片 | 亚洲少妇最新在线视频| 成人性生生活性生交12| 一区二区导航| 欧美亚洲激情视频| 天堂在线观看免费视频| 亚洲成人自拍网| 99精品视频免费版的特色功能| 久久影视一区| 国产精品影片在线观看| 91精品国产91久久久久游泳池 | 欧美性xxxx在线播放| 星空大象在线观看免费播放| 亚洲黄色毛片| 国产一区二区黄色| 婷婷电影在线观看| 国产丝袜视频一区| 丁香社区五月天| 久久久亚洲精品石原莉奈| 久久久久久久少妇| 欧美精品乱码| 国产精品一区久久久| 日本中文字幕伦在线观看| 欧美性受极品xxxx喷水| 女人黄色一级片| 久久国产精品99久久人人澡| 亚洲综合首页| 玖玖玖电影综合影院| 久热国产精品视频| 亚洲免费视频网| 亚洲h动漫在线| 黑人巨大精品欧美| 免费精品视频最新在线| 中文字幕一区二区三区精彩视频| 国产精区一区二区| 欧美激情2020午夜免费观看| 丰满人妻av一区二区三区| 午夜av电影一区| 黄瓜视频污在线观看| 青青草国产精品97视觉盛宴| 一区高清视频| 一区二区日韩| 欧美一区第一页| avtt亚洲| 日韩欧美精品在线| 日本天堂网在线| 国产精品狼人久久影院观看方式| 91视频免费入口| 亚洲巨乳在线| 午夜欧美性电影| 欧美专区视频| 日本伊人精品一区二区三区介绍| av影片在线看| 欧美成人性福生活免费看| 国产性猛交╳xxx乱大交| 日本一二三不卡| 日本50路肥熟bbw| 手机精品视频在线观看| 中国一级黄色录像| 欧洲精品一区| 成人妇女淫片aaaa视频| 99riav视频在线观看| 在线视频欧美日韩| 亚洲av无码国产综合专区| 一本色道久久综合亚洲aⅴ蜜桃| 国产极品美女在线| 久久在线观看免费| 999热精品视频| 天堂一区二区在线免费观看| 99热这里只有精品免费| 欧美日韩伦理在线免费| 国外成人免费视频| vam成人资源在线观看| 欧美最猛性xxxxx免费| 中文字幕伦理免费在线视频| 亚洲男人天天操| 性少妇videosexfreexxx片| 91福利在线免费观看| 久久精品欧美一区二区| 国产精品大尺度| 中文字幕国产专区| 国产**成人网毛片九色 | 成人av动漫| 国产欧美日韩免费| 成人免费直播| 97在线观看免费| 日本高清在线观看| 中文字幕亚洲第一| 国产中文在线视频| 日韩av综合网| 亚洲欧美国产高清va在线播放| 欧美日韩一卡二卡三卡 | 亚洲av无码一区二区三区在线| 久久中文字幕电影| 在线免费观看a级片| 国产不卡视频一区二区三区| 香蕉视频999| 热久久一区二区| 黑森林福利视频导航| 亚洲黄网站黄| 玩弄中年熟妇正在播放| 伊人久久亚洲热| 99久久免费观看| 欧美人成在线| 成人黄色片免费| 欧美一区二区| 在线视频亚洲自拍| 青青草国产免费一区二区下载| 久久亚洲高清| 美女网站色精品尤物极品姐弟| 懂色中文一区二区三区在线视频| 国产一区二区在线观| 亚洲影影院av| 九色精品蝌蚪| 成人片在线免费看| 超碰在线一区| 久久久综合香蕉尹人综合网| 亚欧洲精品视频在线观看| 久久一区二区精品| 久久成人高清| 日韩欧美在线电影| 91久久夜色精品国产按摩| 中文字幕精品—区二区日日骚| 99精品全国免费观看视频软件| 中文字幕一区二区三区5566| 欧美欧美全黄| 青青草原av在线播放| 日本sm残虐另类| 在线成人免费av| 99免费精品在线| 亚洲日本精品视频| 国产精品乱人伦| 欧美亚洲日本在线| 午夜精品一区在线观看| 久久精品视频1| 欧美丝袜丝交足nylons图片| 国产农村妇女毛片精品| 亚洲国产成人精品电影| 青青视频在线观| 色av吧综合网| 欧洲中文在线| 热99久久精品| 亚洲精品毛片| 国产精品裸体一区二区三区| 成人精品视频99在线观看免费| 欧美国产中文高清| 精品视频第一区| 成人久久电影| 国产免费一区二区视频| 久久资源在线| 下面一进一出好爽视频| 91在线丨porny丨国产| 一级在线观看视频| 亚洲国产视频一区| 涩涩视频在线观看| 精品卡一卡二卡三卡四在线| 触手亚洲一区二区三区| 欧美极品在线播放| 免费视频观看成人| 国产亚洲一区在线播放| 91精品国产视频| 欧美 国产 日本| 国产精选一区二区三区| 97超碰在线免费观看| 夜夜嗨av一区二区三区网页| 午夜精品久久久久久久蜜桃| 日韩欧美美女一区二区三区| 成人在线视频成人| 91高清在线免费观看| 国产精品视频一区视频二区| 日本精品二区| 99精品视频免费观看视频| 天天操狠狠操夜夜操| 久久网站热最新地址| 国产黄色片在线免费观看| 在线一区二区观看| 天天干天天插天天操| 久久精品国亚洲| 久久精品女人天堂av免费观看 | 91网址在线观看精品| 久久麻豆一区二区| 久久精品欧美一区二区| 日韩一区和二区| 日韩伦理在线观看| 日韩美女免费观看| 天海翼精品一区二区三区| 欧美黄色免费网址| 国产尤物一区二区| 91禁男男在线观看| 一本大道久久a久久综合婷婷| 好吊色在线观看| 欧美大片在线看| 懂色av色香蕉一区二区蜜桃| 色狠狠久久av五月综合| 国产一区导航| 亚洲自拍偷拍精品| 亚洲成人av电影| 亚洲第一第二区| 九九精品在线播放| 亚洲青青久久| 一区二区三区四区视频在线| 日日摸夜夜添夜夜添国产精品| 疯狂揉花蒂控制高潮h| 午夜欧美大尺度福利影院在线看| 亚洲国产精品suv| 久久久久久成人精品| 2023国产精华国产精品| 日韩黄色短视频| 国产a区久久久| 国产真实乱偷精品视频| 精品不卡在线视频| 九色porny丨首页入口在线| 国内精品视频在线播放| 亚洲在线视频| 亚洲av无码一区二区三区人| 色综合色狠狠天天综合色| 欧美精品a∨在线观看不卡 | 5月婷婷6月丁香| 26uuu亚洲综合色欧美| 日本中文字幕第一页| 亚洲天堂男人的天堂| 欧美日韩在线精品一区二区三区激情综合| 欧美一进一出视频| 丝袜脚交一区二区| 亚洲图片第一页| 7777精品伊人久久久大香线蕉的 | 日韩电影二区| 最新国产黄色网址| 亚洲视频网在线直播| 成人免费观看在线视频| 97视频在线观看视频免费视频| 亚洲国产网址| 中文字幕永久视频| 1024成人网色www| 亚洲国产欧美另类| 97超级碰碰碰久久久| 欧美日韩国产一区二区三区不卡 | 久久一级大片| 18岁网站在线观看| 欧美国产激情二区三区 | 东方欧美亚洲色图在线| 日本三级小视频| 日韩有码视频在线| 中文字幕久久精品一区二区| 免费无码av片在线观看| 国产精品久久久久永久免费观看| 99久久久国产精品无码免费| 8x拔播拔播x8国产精品| 青青草国产成人a∨下载安卓| 被黑人猛躁10次高潮视频| 欧美日韩中文在线| 乱人伦中文视频在线| 国内精品视频在线播放| 久久激情五月激情| 日韩免费黄色片| 色综合亚洲精品激情狠狠| 国产精品一区二区中文字幕| 国产第一页视频| 亚洲最新视频在线播放| 国产日韩精品在线看| 国产激情美女久久久久久吹潮| 三级欧美韩日大片在线看| 1024手机在线视频| 亚洲欧洲午夜一线一品| 97久久精品| 日本中文字幕二区| 欧美性猛交xxxx免费看漫画| 国产区在线看| 日本一区二区视频|