![]() |
|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
layout_weight
Tengo un problema, tengo dos parsers en un mismo activity,
Código:
for (int j = 0; j < contacts1.length(); j++) { JSONObject d = contacts1.getJSONObject(j); String dorsal_local = d.getString("dorsal") + " - "; String nombre_local = d.getString("nombre"); // tmp hash map for single contact HashMap<String, String> contact1 = new HashMap<>(); // adding each child node to HashMap key => value contact1.put("dorsal_local",dorsal_local); contact1.put("nombre_local",nombre_local); // adding contact to contact list contactList.add(contact1); } for (int k = 0; k < contacts2.length(); k++) { JSONObject e = contacts2.getJSONObject(k); String dorsal_visi = e.getString("dorsal") + " - "; String nombre_visi = e.getString("nombre"); // tmp hash map for single contact HashMap<String, String> contact2 = new HashMap<>(); // adding each child node to HashMap key => value contact2.put("dorsal_visi",dorsal_visi); contact2.put("nombre_visi",nombre_visi); // adding contact to contact list contactList.add(contact2); } Código:
ListAdapter adapter1 = new SimpleAdapter( DetailActivity.this, contactList, R.layout.titulares_row, new String[]{"dorsal_local", "nombre_local", "dorsal_visi", "nombre_visi"}, new int[]{R.id.tv_dorsal_local, R.id.tv_titulares_local,R.id.tv_dorsal_visi, R.id.tv_titulares_visi}); lv1.setAdapter(adapter1); titulares_row.xml Código:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"" android:orientation="horizontal" android:paddingBottom="5dp" android:paddingTop="5dp" android:layout_marginLeft="15dp" android:layout_marginRight="15dp"> <TextView android:id="@+id/tv_dorsal_local" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:textColor="@color/primaryColor" android:textSize="16sp" android:text="DL" android:gravity="left|center_vertical" android:minLines="3"/> <TextView android:id="@+id/tv_titulares_local" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="5" android:textColor="@color/primaryColor" android:textSize="16sp" android:gravity="center_vertical" android:text="local" android:minLines="3"/> <TextView android:id="@+id/tv_dorsal_visi" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:textColor="@color/primaryColor" android:textSize="16sp" android:text="DV" android:gravity="left|center_vertical" android:minLines="3"/> <TextView android:id="@+id/tv_titulares_visi" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="5" android:textColor="@color/primaryColor" android:textSize="16sp" android:gravity="center_vertical" android:text="Visitante" android:minLines="3"/> <LinearLayout> Gracias Última edición por Merche300 Día 07/05/17 a las 11:29:30 |
|
#2
|
||||
|
||||
Hace lo que le estás indicando, primero filas que solo tienen texto en dorsal_local y nombre_local (primer bucle) y luego filas que solo tienen texto en dorsal_visi y nombre_visi (segundo bucle)
Si quieres que salga todo en la misma fila tendrás que añadir las cosas de visitante al mismo "contact" donde guardaste el local en el primer bucle. P.D: Vamos, que no es problema de weights ni nada, las filas tienen cuatro campos, pero en la primera mitad los dos últimos están vacíos y no los ves. Y en la segunda mitad están vacíos los dos primeros Última edición por mocelet Día 03/02/17 a las 17:14:40 |
Gracias de parte de: | ||
#3
|
|
Cita:
ya lo hice antes asi dentro de cada *for, con los *contact1 Código:
HashMap<String, String> contact1 = new HashMap<>(); // adding each child node to HashMap key => value contact1.put("dorsal_visi",dorsal_visi); contact1.put("nombre_visi",nombre_visi); // adding contact to contact list contactList.add(contact1); |
#4
|
||||
|
||||
No nos hemos entendido
![]() Al .add solo puedes llamarlo cuando tengas los cuatro valores guardados, es decir, en algún sitio debes tener esto: [PHP]contact.put("dorsal_local",dorsal_local); contact.put("nombre_local",nombre_local); contact.put("dorsal_visi",dorsal_visi); contact.put("nombre_visi",nombre_visi); contactList.add(contact);[/PHP] Tienes que juntar los dos bucles en uno. Última edición por mocelet Día 03/02/17 a las 17:31:29 |
Gracias de parte de: | ||
#5
|
|
Cita:
|
#6
|
|
Cita:
contact1.put("dorsal_local",dorsal_local); contact1.put("nombre_local",nombre_local); aaa ok juntos gracias |
#7
|
||||
|
||||
Ya no hay contact1 y contact2, es un único contact (que no sé por qué lo llamas así de todas formas) que contiene los cuatro atributos (dos que has sacado de un json y dos que has sacado de otro)
Ten en cuenta que cada contact que añadas a contactList va a convertirse en una fila, así que tienes que escribir los cuatro campos antes de añadirlo. |
Gracias de parte de: | ||
#8
|
|
Cita:
|
#9
|
nada no me sale
|
#10
|
||||
|
||||
Básicamente es copiar y pegar lo del segundo bucle en el primero cambiando algún nombre de variable, debería ser algo así, suponiendo que contacts1 y contacts2 tengan el mismo número de elementos.
[PHP]for (int i = 0; i < contacts1.length(); i++) { JSONObject d = contacts1.getJSONObject(i); JSONObject e = contacts2.getJSONObject(i); String dorsal_local = d.getString("dorsal") + " - "; String nombre_local = d.getString("nombre"); String dorsal_visi = e.getString("dorsal") + " - "; String nombre_visi = e.getString("nombre"); HashMap<String, String> contact = new HashMap<>(); contact.put("dorsal_local",dorsal_local); contact.put("nombre_local",nombre_local); contact.put("dorsal_visi",dorsal_visi); contact.put("nombre_visi",nombre_visi); contactList.add(contact); }[/PHP] |
Gracias de parte de: | ||
#11
|
Vaya tela, no se las horas que me he tirado, no se como lo hacia pero solo me salia el ultimo item decada lista. Me confundian los contacts 1 - 2, voy a cambiar los nombre.
gracias |
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 11:21:58 (GMT +2)
HTCMania: líderes desde el 2007