Estoy usando un ListView
para mostrar la pantalla principal de mi aplicación.
La pantalla principal es esencialmente menu
para acceder a las diferentes secciones de la aplicación. Actualmente, tengo el ListView
cuyo contenido se agrega programáticamente en el método onCreate
.¿Cómo puedo crear iconos para elementos de menú en ListView de Android?
Aquí es el fragmento de código que hace esto:
String[] mainItems = {
"Inbox", "Projects", "Contexts", "Next Actions"
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
setListAdapter(new ArrayAdapter<String>(
this, android.R.layout.simple_list_item_1, mainItems));
registerForContextMenu(getListView());
}
Así que el menú es esencialmente sólo un grupo de nodos con el texto contenido en la matriz mainItems. Sé que puedo crear un diseño XML (es decir, R.layout.mainMenu_item
) que tiene un ImageView y TextView en él, pero no estoy seguro de cómo configurar el icono de ImageView. He visto que hay un método setImageResouce (int resId), pero la forma de usar esto cuando se genera con un ArrayAdapter me está eludiendo. ¿Hay una mejor manera de hacer esto?
Tenga en cuenta que realmente debería ver convertView y solo inflar nuevas filas si realmente las necesita. Si convertView no es nulo, es una fila pasada que infló antes, para reciclar. Simplemente reinicie el icono y devuelva la fila reciclada. Menos basura creada, ejecución más rápida. – CommonsWare