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"};
}


相关文章
|
2月前
|
XML API 数据格式
【Qt 学习笔记】QWidget的enable属性 | API的介绍
【Qt 学习笔记】QWidget的enable属性 | API的介绍
70 0
|
11月前
|
前端开发 API
前端学习笔记202305学习笔记第二十二天-新增修改api的封装2
前端学习笔记202305学习笔记第二十二天-新增修改api的封装2
48 0
前端学习笔记202305学习笔记第二十二天-新增修改api的封装2
|
11月前
|
前端开发 API
前端学习笔记202305学习笔记第三十天-什么是mvc-c层api 前后端联动1
前端学习笔记202305学习笔记第三十天-什么是mvc-c层api 前后端联动1
59 0
|
11月前
|
前端开发 API
前端学习笔记202305学习笔记第三十一天-什么是mvc-c层api 前后端联动3
前端学习笔记202305学习笔记第三十一天-什么是mvc-c层api 前后端联动3
45 0
|
11月前
|
前端开发 API
前端学习笔记202305学习笔记第三十一天-什么是mvc-c层api 和mvc总结3
前端学习笔记202305学习笔记第三十一天-什么是mvc-c层api 和mvc总结3
35 0
|
11月前
|
前端开发 API
前端学习笔记202305学习笔记第三十一天-什么是mvc-c层api 和mvc总结4
前端学习笔记202305学习笔记第三十一天-什么是mvc-c层api 和mvc总结
47 0
|
11月前
|
前端开发 API
前端学习笔记202305学习笔记第三十天-什么是mvc-c层api 前后端联动3
前端学习笔记202305学习笔记第三十天-什么是mvc-c层api 前后端联动3
52 0
|
11月前
|
前端开发 API
前端学习笔记202305学习笔记第三十一天-什么是mvc-c层api 和mvc总结2
前端学习笔记202305学习笔记第三十一天-什么是mvc-c层api 和mvc总结2
43 0
|
11月前
|
前端开发 API
前端学习笔记202305学习笔记第二十二天-新增修改api的封装
前端学习笔记202305学习笔记第二十二天-新增修改api的封装2
38 0
|
11月前
|
前端开发 API
前端学习笔记202305学习笔记第三十天-什么是mvc-c层api 前后端联动2
前端学习笔记202305学习笔记第三十天-什么是mvc-c层api 前后端联动2
46 0