API Demos 2.3 学习笔记 (20)-- Views->Lists->Array

更多精彩内容,请点击阅读:《API Demos 2.3 学习笔记》


从本节开始,我们开始接触List方面的内容。List部分的内容主要用到控件ListView。根据我的了解,我喜欢把ListView的应用框架分成三层来理解:数据,适配器,UI。其中,数据主要是一系列特定数据的集合,例如,一个字符串数组等;UI主要是ListView,或者包含ListView控件的ListActivity;适配器则有很多,例如:ArrayAdapter<T>, BaseAdapter, CursorAdapter, HeaderViewListAdapter, ListAdapter, ResourceCursorAdapter,
SimpleAdapter, SimpleCursorAdapter, SpinnerAdapter, WrapperListAdapter。
这里做一个不太恰当的比喻,来帮助大家理解一下。
我们可以把各种数据理解为,SD卡,mini SD卡,TF卡等上面的数据,而适配器则可以理解为读卡器,UI则可以理解为电脑。不管是什么卡,只要通过读卡器连接电脑,都可以在电脑上浏览并且操作卡上的数据。
ListActivity可以理解为封装了一个ListView对象以及相关操作的Activity。
下面简单介绍怎样使用ArrayAdapter和字符串数组填充ListActivity。
1、首先,创建一个继承自ListActivity的Activity。

public class List1 extends ListActivity {

2、定义或者设置数据源。本实例中使用了一个字符串数组。

//数据源,字符串数组
private String[] mStrings = {
"Abbaye de Belloc", "Abbaye du Mont des Cats", "Abertam", "Abondance", "Ackawi",
"Acorn", "Adelost", "Affidelice au Chablis", "Afuega'l Pitu", "Airag", "Airedale",
"Aisy Cendre", "Allgauer Emmentaler", "Alverca", "Ambert", "American Cheese",...}

3、新建一个适配器,将数据源和ListActivity绑定起来。

//设置适配器
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, mStrings));

注:
1、this,代表当前Activity的上下文Context
2、android.R.layout.simple_list_item_1为android系统内置的样式。查看源代码可知,这个样式其实就是一个TextView;
3、数据源,一个字符串数组。

具体效果如下:

注:根据适配器的定义,可以理解如下:
ListView中的每一行都采用 android.R.layout.simple_list_item_1(一个TextView)作为布局,然后将 mStrings中的字符串每行一个,显示在根据上面布局创建的对象上。

下面我们进行实例代码解析:

src-com.example.android.apis.view-List1.java

package com.example.android.apis.view;

import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

/**
 * 一个使用字符串数组作为数据源的listview示例
 */
public class List1 extends ListActivity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		//设置适配器
		setListAdapter(new ArrayAdapter<String>(this,
				android.R.layout.simple_list_item_1, mStrings));

		//设置是否启用文本过滤功能
		getListView().setTextFilterEnabled(true);
	}

	//数据源,字符串数组
	private String[] mStrings = {
			"Abbaye de Belloc", "Abbaye du Mont des Cats", "Abertam", "Abondance", "Ackawi",
			"Acorn", "Adelost", "Affidelice au Chablis", "Afuega'l Pitu", "Airag", "Airedale",
			"Aisy Cendre", "Allgauer Emmentaler", "Alverca", "Ambert", "American Cheese",
			"Ami du Chambertin", "Anejo Enchilado", "Anneau du Vic-Bilh", "Anthoriro", "Appenzell",
			"Aragon", "Ardi Gasna", "Ardrahan", "Armenian String", "Aromes au Gene de Marc",
			"Asadero", "Asiago", "Aubisque Pyrenees", "Autun", "Avaxtskyr", "Baby Swiss",
			"Babybel", "Baguette Laonnaise", "Bakers", "Baladi", "Balaton", "Bandal", "Banon",
			"Barry's Bay Cheddar", "Basing", "Basket Cheese", "Bath Cheese", "Bavarian Bergkase",
			"Baylough", "Beaufort", "Beauvoorde", "Beenleigh Blue", "Beer Cheese", "Bel Paese",
			"Bergader", "Bergere Bleue", "Berkswell", "Beyaz Peynir", "Bierkase", "Bishop Kennedy",
			"Blarney", "Bleu d'Auvergne", "Bleu de Gex", "Bleu de Laqueuille",
			"Bleu de Septmoncel", "Bleu Des Causses", "Blue", "Blue Castello", "Blue Rathgore",
			"Blue Vein (Australian)", "Blue Vein Cheeses", "Bocconcini", "Bocconcini (Australian)",
			"Boeren Leidenkaas", "Bonchester", "Bosworth", "Bougon", "Boule Du Roves",
			"Boulette d'Avesnes", "Boursault", "Boursin", "Bouyssou", "Bra", "Braudostur",
			"Breakfast Cheese", "Brebis du Lavort", "Brebis du Lochois", "Brebis du Puyfaucon",
			"Bresse Bleu", "Brick", "Brie", "Brie de Meaux", "Brie de Melun", "Brillat-Savarin",
			"Brin", "Brin d' Amour", "Brin d'Amour", "Brinza (Burduf Brinza)",
			"Briquette de Brebis", "Briquette du Forez", "Broccio", "Broccio Demi-Affine",
			"Brousse du Rove", "Bruder Basil", "Brusselae Kaas (Fromage de Bruxelles)", "Bryndza",
			"Buchette d'Anjou", "Buffalo", "Burgos", "Butte", "Butterkase", "Button (Innes)",
			"Buxton Blue", "Cabecou", "Caboc", "Cabrales", "Cachaille", "Caciocavallo", "Caciotta",
			"Caerphilly", "Cairnsmore", "Calenzana", "Cambazola", "Camembert de Normandie",
			"Canadian Cheddar", "Canestrato", "Cantal", "Caprice des Dieux", "Capricorn Goat",
			"Capriole Banon", "Carre de l'Est", "Casciotta di Urbino", "Cashel Blue", "Castellano",
			"Castelleno", "Castelmagno", "Castelo Branco", "Castigliano", "Cathelain",
			"Celtic Promise", "Cendre d'Olivet", "Cerney", "Chabichou", "Chabichou du Poitou",
			"Chabis de Gatine", "Chaource", "Charolais", "Chaumes", "Cheddar",
			"Cheddar Clothbound", "Cheshire", "Chevres", "Chevrotin des Aravis", "Chontaleno",
			"Civray", "Coeur de Camembert au Calvados", "Coeur de Chevre", "Colby", "Cold Pack",
			"Comte", "Coolea", "Cooleney", "Coquetdale", "Corleggy", "Cornish Pepper",
			"Cotherstone", "Cotija", "Cottage Cheese", "Cottage Cheese (Australian)",
			"Cougar Gold", "Coulommiers", "Coverdale", "Crayeux de Roncq", "Cream Cheese",
			"Cream Havarti", "Crema Agria", "Crema Mexicana", "Creme Fraiche", "Crescenza",
			"Croghan", "Crottin de Chavignol", "Crottin du Chavignol", "Crowdie", "Crowley",
			"Cuajada", "Curd", "Cure Nantais", "Curworthy", "Cwmtawe Pecorino",
			"Cypress Grove Chevre", "Danablu (Danish Blue)", "Danbo", "Danish Fontina",
			"Daralagjazsky", "Dauphin", "Delice des Fiouves", "Denhany Dorset Drum", "Derby",
			"Dessertnyj Belyj", "Devon Blue", "Devon Garland", "Dolcelatte", "Doolin",
			"Doppelrhamstufel", "Dorset Blue Vinney", "Double Gloucester", "Double Worcester",
			"Dreux a la Feuille", "Dry Jack", "Duddleswell", "Dunbarra", "Dunlop", "Dunsyre Blue",
			"Duroblando", "Durrus", "Dutch Mimolette (Commissiekaas)", "Edam", "Edelpilz",
			"Emental Grand Cru", "Emlett", "Emmental", "Epoisses de Bourgogne", "Esbareich",
			"Esrom", "Etorki", "Evansdale Farmhouse Brie", "Evora De L'Alentejo", "Exmoor Blue",
			"Explorateur", "Feta", "Feta (Australian)", "Figue", "Filetta", "Fin-de-Siecle",
			"Finlandia Swiss", "Finn", "Fiore Sardo", "Fleur du Maquis", "Flor de Guia",
			"Flower Marie", "Folded", "Folded cheese with mint", "Fondant de Brebis",
			"Fontainebleau", "Fontal", "Fontina Val d'Aosta", "Formaggio di capra", "Fougerus",
			"Four Herb Gouda", "Fourme d' Ambert", "Fourme de Haute Loire", "Fourme de Montbrison",
			"Fresh Jack", "Fresh Mozzarella", "Fresh Ricotta", "Fresh Truffles", "Fribourgeois",
			"Friesekaas", "Friesian", "Friesla", "Frinault", "Fromage a Raclette", "Fromage Corse",
			"Fromage de Montagne de Savoie", "Fromage Frais", "Fruit Cream Cheese",
			"Frying Cheese", "Fynbo", "Gabriel", "Galette du Paludier", "Galette Lyonnaise",
			"Galloway Goat's Milk Gems", "Gammelost", "Gaperon a l'Ail", "Garrotxa", "Gastanberra",
			"Geitost", "Gippsland Blue", "Gjetost", "Gloucester", "Golden Cross", "Gorgonzola",
			"Gornyaltajski", "Gospel Green", "Gouda", "Goutu", "Gowrie", "Grabetto", "Graddost",
			"Grafton Village Cheddar", "Grana", "Grana Padano", "Grand Vatel",
			"Grataron d' Areches", "Gratte-Paille", "Graviera", "Greuilh", "Greve",
			"Gris de Lille", "Gruyere", "Gubbeen", "Guerbigny", "Halloumi",
			"Halloumy (Australian)", "Haloumi-Style Cheese", "Harbourne Blue", "Havarti",
			"Heidi Gruyere", "Hereford Hop", "Herrgardsost", "Herriot Farmhouse", "Herve",
			"Hipi Iti", "Hubbardston Blue Cow", "Hushallsost", "Iberico", "Idaho Goatster",
			"Idiazabal", "Il Boschetto al Tartufo", "Ile d'Yeu", "Isle of Mull", "Jarlsberg",
			"Jermi Tortes", "Jibneh Arabieh", "Jindi Brie", "Jubilee Blue", "Juustoleipa",
			"Kadchgall", "Kaseri", "Kashta", "Kefalotyri", "Kenafa", "Kernhem", "Kervella Affine",
			"Kikorangi", "King Island Cape Wickham Brie", "King River Gold", "Klosterkaese",
			"Knockalara", "Kugelkase", "L'Aveyronnais", "L'Ecir de l'Aubrac", "La Taupiniere",
			"La Vache Qui Rit", "Laguiole", "Lairobell", "Lajta", "Lanark Blue", "Lancashire",
			"Langres", "Lappi", "Laruns", "Lavistown", "Le Brin", "Le Fium Orbo", "Le Lacandou",
			"Le Roule", "Leafield", "Lebbene", "Leerdammer", "Leicester", "Leyden", "Limburger",
			"Lincolnshire Poacher", "Lingot Saint Bousquet d'Orb", "Liptauer", "Little Rydings",
			"Livarot", "Llanboidy", "Llanglofan Farmhouse", "Loch Arthur Farmhouse",
			"Loddiswell Avondale", "Longhorn", "Lou Palou", "Lou Pevre", "Lyonnais", "Maasdam",
			"Macconais", "Mahoe Aged Gouda", "Mahon", "Malvern", "Mamirolle", "Manchego",
			"Manouri", "Manur", "Marble Cheddar", "Marbled Cheeses", "Maredsous", "Margotin",
			"Maribo", "Maroilles", "Mascares", "Mascarpone", "Mascarpone (Australian)",
			"Mascarpone Torta", "Matocq", "Maytag Blue", "Meira", "Menallack Farmhouse",
			"Menonita", "Meredith Blue", "Mesost", "Metton (Cancoillotte)", "Meyer Vintage Gouda",
			"Mihalic Peynir", "Milleens", "Mimolette", "Mine-Gabhar", "Mini Baby Bells", "Mixte",
			"Molbo", "Monastery Cheeses", "Mondseer", "Mont D'or Lyonnais", "Montasio",
			"Monterey Jack", "Monterey Jack Dry", "Morbier", "Morbier Cru de Montagne",
			"Mothais a la Feuille", "Mozzarella", "Mozzarella (Australian)",
			"Mozzarella di Bufala", "Mozzarella Fresh, in water", "Mozzarella Rolls", "Munster",
			"Murol", "Mycella", "Myzithra", "Naboulsi", "Nantais", "Neufchatel",
			"Neufchatel (Australian)", "Niolo", "Nokkelost", "Northumberland", "Oaxaca",
			"Olde York", "Olivet au Foin", "Olivet Bleu", "Olivet Cendre",
			"Orkney Extra Mature Cheddar", "Orla", "Oschtjepka", "Ossau Fermier", "Ossau-Iraty",
			"Oszczypek", "Oxford Blue", "P'tit Berrichon", "Palet de Babligny", "Paneer", "Panela",
			"Pannerone", "Pant ys Gawn", "Parmesan (Parmigiano)", "Parmigiano Reggiano",
			"Pas de l'Escalette", "Passendale", "Pasteurized Processed", "Pate de Fromage",
			"Patefine Fort", "Pave d'Affinois", "Pave d'Auge", "Pave de Chirac", "Pave du Berry",
			"Pecorino", "Pecorino in Walnut Leaves", "Pecorino Romano", "Peekskill Pyramid",
			"Pelardon des Cevennes", "Pelardon des Corbieres", "Penamellera", "Penbryn",
			"Pencarreg", "Perail de Brebis", "Petit Morin", "Petit Pardou", "Petit-Suisse",
			"Picodon de Chevre", "Picos de Europa", "Piora", "Pithtviers au Foin",
			"Plateau de Herve", "Plymouth Cheese", "Podhalanski", "Poivre d'Ane", "Polkolbin",
			"Pont l'Eveque", "Port Nicholson", "Port-Salut", "Postel", "Pouligny-Saint-Pierre",
			"Pourly", "Prastost", "Pressato", "Prince-Jean", "Processed Cheddar", "Provolone",
			"Provolone (Australian)", "Pyengana Cheddar", "Pyramide", "Quark",
			"Quark (Australian)", "Quartirolo Lombardo", "Quatre-Vents", "Quercy Petit",
			"Queso Blanco", "Queso Blanco con Frutas --Pina y Mango", "Queso de Murcia",
			"Queso del Montsec", "Queso del Tietar", "Queso Fresco", "Queso Fresco (Adobera)",
			"Queso Iberico", "Queso Jalapeno", "Queso Majorero", "Queso Media Luna",
			"Queso Para Frier", "Queso Quesadilla", "Rabacal", "Raclette", "Ragusano", "Raschera",
			"Reblochon", "Red Leicester", "Regal de la Dombes", "Reggianito", "Remedou",
			"Requeson", "Richelieu", "Ricotta", "Ricotta (Australian)", "Ricotta Salata", "Ridder",
			"Rigotte", "Rocamadour", "Rollot", "Romano", "Romans Part Dieu", "Roncal", "Roquefort",
			"Roule", "Rouleau De Beaulieu", "Royalp Tilsit", "Rubens", "Rustinu", "Saaland Pfarr",
			"Saanenkaese", "Saga", "Sage Derby", "Sainte Maure", "Saint-Marcellin",
			"Saint-Nectaire", "Saint-Paulin", "Salers", "Samso", "San Simon", "Sancerre",
			"Sap Sago", "Sardo", "Sardo Egyptian", "Sbrinz", "Scamorza", "Schabzieger", "Schloss",
			"Selles sur Cher", "Selva", "Serat", "Seriously Strong Cheddar", "Serra da Estrela",
			"Sharpam", "Shelburne Cheddar", "Shropshire Blue", "Siraz", "Sirene", "Smoked Gouda",
			"Somerset Brie", "Sonoma Jack", "Sottocenare al Tartufo", "Soumaintrain",
			"Sourire Lozerien", "Spenwood", "Sraffordshire Organic", "St. Agur Blue Cheese",
			"Stilton", "Stinking Bishop", "String", "Sussex Slipcote", "Sveciaost", "Swaledale",
			"Sweet Style Swiss", "Swiss", "Syrian (Armenian String)", "Tala", "Taleggio", "Tamie",
			"Tasmania Highland Chevre Log", "Taupiniere", "Teifi", "Telemea", "Testouri",
			"Tete de Moine", "Tetilla", "Texas Goat Cheese", "Tibet", "Tillamook Cheddar",
			"Tilsit", "Timboon Brie", "Toma", "Tomme Brulee", "Tomme d'Abondance",
			"Tomme de Chevre", "Tomme de Romans", "Tomme de Savoie", "Tomme des Chouans", "Tommes",
			"Torta del Casar", "Toscanello", "Touree de L'Aubier", "Tourmalet",
			"Trappe (Veritable)", "Trois Cornes De Vendee", "Tronchon", "Trou du Cru", "Truffe",
			"Tupi", "Turunmaa", "Tymsboro", "Tyn Grug", "Tyning", "Ubriaco", "Ulloa",
			"Vacherin-Fribourgeois", "Valencay", "Vasterbottenost", "Venaco", "Vendomois",
			"Vieux Corse", "Vignotte", "Vulscombe", "Waimata Farmhouse Blue",
			"Washed Rind Cheese (Australian)", "Waterloo", "Weichkaese", "Wellington",
			"Wensleydale", "White Stilton", "Whitestone Farmhouse", "Wigmore", "Woodside Cabecou",
			"Xanadu", "Xynotyro", "Yarg Cornish", "Yarra Valley Pyramid", "Yorkshire Blue",
			"Zamorano", "Zanetti Grana Padano", "Zanetti Parmigiano Reggiano"};
}
时间: 2024-09-10 13:19:52

API Demos 2.3 学习笔记 (20)-- Views-&gt;Lists-&gt;Array的相关文章

API Demos 2.3 学习笔记

API Demos 2.3 学习笔记 Doc和Pdf版本同步更新,请使用git工具进行同步.关于Git工具更多信息,请参考:http://progit.org/book/zh/ git clone https://code.google.com/p/apidemo/  或者 git clone git://github.com/snowdream/apidemo.git 由于笔者才疏识浅.时间匆忙,书中难免出现错误.缺点,欢迎大家批评指正.联系方式:yanghui1986527#gmail.co

API Demos 2.3 学习笔记 (9)-- Views-&amp;gt;Visibility

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> Visibility 示例以TextView为例介绍了View的三种可见性以及如何设置View的可见性.这些可见性的设置方法同样适用于View以及其他继承自View的子类对象.从示例布局文件来看,主要分为两部分,一部分为一个线性垂直布局,包含三个不同背景色的TextVew对象:另一部分,为一个线性水平布局,包含三个Button对象. View的可见性主要分为三种, VISIBLE(可见). INVISIBLE(不可见). GO

API Demos 2.3 学习笔记 (11)-- Views-&amp;gt;Date Widgets

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> Date Widgets大致可以分为两类,一类是弹出对话框类型的控件,包括DatePickerDialog(日期选择对话框控件)和TimePickerDialog(时间选择对话框控件):另一类就是内嵌类型的控件,包括DatePicker(日期选择窗口控件)和TimePicker(时间选择窗口控件).这些控件广泛应用在需要选择和记录时间信息的场合,例如:谷歌日历. 下面我们简单介绍下这四种控件的调用方法: 1.DatePicke

API Demos 2.3 学习笔记 (17)-- Views-&amp;gt;Tabs

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> Tab与TabHost应用很广泛.打开android手机的默认电话拨号程序,上面就是由"拨号","通话记录","通讯录"以及"收藏"四个选项卡组成的. TabHost有两种实现方式,一种是继承TabActivity,另一种是自己定义TabHost,不继承TabActivity.APIDemo中的三个实例都是第一种.想了解TabHost的第二种实现方

API Demos 2.3 学习笔记 (19)-- Views-&amp;gt; TextSwitcher

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> TextSwitcher即文字交换器,是只能包含TextView作为唯一子类型的控件,常用于屏幕上文字标签的动画切换.每次调用setText(CharSequence),TextSwitcher会将当前文字用预定淡出动画隐藏,而将最新文字用预订淡入动画显示出来. 下面简单介绍怎么创建和使用TextSwitcher控件. 1.首先,在布局文件中定义一个TextSwitcher控件 <TextSwitcher android

API Demos 2.3 学习笔记 (15)-- Views-&amp;gt;Radio Group

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> 想想我们上学时候做的单项选择题,其中只有一个是正确答案.在做题的时候,我们只能选择一项.如果我们想在Android上设计一道单项选择题的话,可能就要用到RadioGroup了.RadioGroup常常和RadioButton一起使用.由一个RadioGroup包含若干个RadioButton,组成一个单项选择群组.我们在同一时间只能选中该组中的一个 RadioButton. RadioGroup的创建主要有两种方法: 1.在x

API Demos 2.3 学习笔记 (10)-- Views-&amp;gt;WebView

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> WebView是一个专门用来显示网页的View子类.它使用WebKit渲染引擎来显示网页,并且支持包括前进,后退,放大,缩小,文本搜索等多种功能. WebView有一个辅助类叫WebSettings,它管理WebView的设置状态.该类的对象可以通过WebView.getSettings()方法获得.下面我们介绍几个常用的WebSettings设置: //得到WebView对象 WebView mWebView = (WebV

API Demos 2.3 学习笔记 (13)-- Views-&amp;gt;Seek Bar

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> SeekBar 是基于ProgressBar的扩展,可以理解为添加了滑动条的ProgressBar.用户可以左右移动滑动条或者左右移动轨迹球来设置当前的进度值.最好不要在SeekBar左边或者右边放置一个可以聚焦的控件. SeekBar 控件最经典的应用是在播放器中用于显示/改变播放进度的进度条.下面是一个简单的SeekBar 控件: <SeekBar android:id="@+id/seek" a

API Demos 2.3 学习笔记 (7)-- Views-&amp;gt;Buttons

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> Buttons示例介绍了定义Button,ToggleButton的基本方法.从示例布局文件来看,主要是在线性LinearLayout中定义三个Button,其中第一个为正常的Button,而第二个通过style属性定义了一个小的Button,第三个为ToggleButton. 这里我们主要介绍下ToggleButton.这是一种具有选中和未选中两种状态的按钮,类似开关按钮.通过"android:textOn&quo