Monday, May 19, 2008

TabActivity en Android M5

En la API de Android en la version M5 hay la opción de usar TabActivity, para poder cambiar de activities de manera sencilla.

Todo parece muy bonito pero hay que tener unos detalles en cuenta que no están explicados en ningun lugar de la documentación y a mi me ha llevado 2 días de dedicación exclusiva provocando el no poder hacer funcionar la UI de mi aplicación y un sin parar de NullPointerException U_U', sin duda es uno de los problemas de Android, la cantidad de excepciones que llega a lanzar que uno no puede saber bien de donde le vienen los tiros, siempre tienes que estar mirando el LOG y a ver que pescas... queda mucho por mejorar todavía a la API.

El código en onCreate de nuestra TabActivity es el siguiente

setContentView(R.layout.main);
setDefaultTab(0);
TabHost tabs = getTabHost();
TabHost.TabSpec tab;
tab = tabs.newTabSpec("Artists");
tab.setContent(new Intent().setClass(this, One.class));
tab.setIndicator(new MyTextIndicator(this, "Artists"));
tabs.addTab(tab); //añadir todos los tabs que se kieran




A parte de este código es esencial declarar las activities en el AndroidManifest.xml sinó saltará la excepcion ya comentada, solo hace falta poner el atributo name

activity name="One"

No comments: