8.android list view 1
Transcript of 8.android list view 1
![Page 2: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/2.jpg)
Lista de Items Pueden hacer scroll Cada item puede ser de cualquier tipo Reciben los datos a traves de un Adaptador
ListView
![Page 3: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/3.jpg)
Heredan de la clase BaseAdapter Puede ser ArrayAdapter ó CursorAdapter ArrayAdapter puede manejar arrays ó listas CursorAdapter puede manejar filas de base
de datos
Adapter
![Page 4: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/4.jpg)
Cada item de un ListView tiene su propio layout
Se puede usar android.R.layout.simple_list_item1
Se puede definir un Layout propio
Layout
![Page 5: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/5.jpg)
ArrayAdapter<String> adaptador = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, valores);
listView.setAdapter(adaptador);
Ejemplo
![Page 6: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/6.jpg)
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View fila = inflater.inflate(R.layout.fila, parent, false); TextView textView = (TextView) fila.findViewById(R.id.nombre); return view; }
Ejemplo 2
![Page 7: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/7.jpg)
Hereda de la clase Activity Diseñado para simplificar el manejo de
listview Define por defecto un widget ListView Se recupera el layout con getListView() Define un metodo onListItemClick() Define el adaptador mediante
setListAdapter() No requiere setContentView()
ListActivity
![Page 8: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/8.jpg)
Adaptador Simple
![Page 9: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/9.jpg)
No es una clase, ni una característica Patron para listas usado por Android Reutilizar filas Se usa los metodos setTag y getTag
ViewHolder
![Page 10: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/10.jpg)
Diagrama viewHolder
![Page 11: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/11.jpg)
public View getView(int position, View convertView, ViewGroup parent) { View fila=convertView; Holder holder=null; if (fila==null) { LayoutInflater inflater=getLayoutInflater(); row=inflater.inflate(R.layout.lineal, parent, false); holder=new Holder(fila); row.setTag(holder); } else { holder=(Holder)row.getTag(); } holder.cargarDatos(modelo.get(position)); return(fila); }
Ejemplo
![Page 12: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/12.jpg)
class Holder { private TextView datos=null; Holder(View fila) { datos=(TextView)fila.findViewById(R.id.datos); void cargarDatos(Dato d) { datos.setText(d.getDato()); } }
Ejemplo cont.
![Page 13: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/13.jpg)
TabHost tabHost=findViewById(android.R.id.tabhost); tabHost.setup(); TabSpec tab1=tabHost.newTabSpec("tab1"); tab1.setContent(R.id.agenda); tab1.setIndicator(“Agenda",
getResources().getDrawable(R.drawable.agenda)); tabHost.addTab(tab1); tabHost.setCurrentTab(0);
Tab
![Page 14: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/14.jpg)
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {…
getTabHost().setCurrentTab(1); }
AdapterView.OnItemClickListener
![Page 15: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/15.jpg)
Fragmentos
![Page 16: 8.android list view 1](https://reader035.fdocuments.co/reader035/viewer/2022081202/58772dc51a28ab2b2c8b6459/html5/thumbnails/16.jpg)
Fragmentos