ListView y Id ocultos. ¿Como es posible?

Estoy desarrollando una aplicación para Android y ahora he implementado un ListView que muestra una lista de cursos, conectados a una base de datos.

Me gustaría saber cómo incluir, con el nombre, un id oculto (que viene del db) para que una vez que el usuario haga clic en los elementos de la aplicación va a la vista relativa de los cursos seleccionados.

¿Y cómo puedo mantener el ID durante la navegación dentro de la vista del curso?

Por el momento mi código solo carga el nombre de los cursos desde el db y se establece en la vista de lista:

ArrayAdapter<String> result = new ArrayAdapter<String>(CourseActivity.this, android.R.layout.simple_list_item_1); for (CourseRecord c : get()) result.add(c.getFullname()); lv.setAdapter(result); 

Obviamente soy capaz de hacer también c.getid () pero no dónde poner el id.

Muchas gracias.

PD: ¿Tal vez alguien también tiene gráficos muy buenos de la vista de lista?

Cambiar su adaptador de matriz como este.

 private ArrayAdapter<String> result = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1){ @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.row, null); } v.setTag(getMyIdForPosition(position)); return convertView; } }; 

Y tiene un manejador de clics de elemento para recibir los identificadores seleccionados

  private OnItemClickListener itemClickedHandler = new OnItemClickListener() { public void onItemClick(AdapterView parent, View v, int position, long id) { String myId = (String)v.getTag(); doYourStuff(myId); } }; 

Asignar el oyente a la lista

 myList= (ListView)findViewById(R.id.history); myList.setOnItemClickListener(itemClickedHandler); 

Puede almacenar el ID en una TextView oculta. En el elemento de lista XML, agregue 'android: visibility = "gone"' al TextView. Del mismo modo en el controlador de clics puede leer el id de la vista de texto.

También puede almacenar ID utilizando el método setTag (Object object) de una vista. Utilice el método getTag () para extraer ese id de esa vista.

  • ListView onItemClickListener no se llama
  • Android Listview - no puede seleccionar varios elementos cuando usa un cursor
  • Android ListView con botón no es seleccionable (clicable)
  • ¿Cómo mostrar archivos de audio en una vista de lista en Android?
  • FastScrollBar salir de la pantalla, cuando SectionIndexer implementado
  • Listview no muestra nada y ocultar datos
  • Establecer LayoutParams de ListView cuando se utiliza DrawerLayout con fragmentos
  • ¿Saber cuándo una vista en un ListView ha salido de la pantalla?
  • Implementación correcta de cambiar los datos de ListView con CursorAdapter
  • ListView no se actualiza al agregar a SQLiteDatabase
  • Métodos de adaptador en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.