PDA

Ver la Versión Completa : Duda BaseExpandableListAdapter


rafaxplayer
31/07/13, 06:39:18
Hola compañeros , tengo un problema con el adaptaer de un expandable , resulta que en los hijos solo quiero que tenga uno y no se porque motivo me salen todos los posibles repetidos en cada grupo , osea que cada grupo tiene todos los hijos que debería haber repartidos uno en cada grupo , no se si me explico ...

Aqui mi codigo del adapter:

private class RssAdapter extends BaseExpandableListAdapter{
private ArrayList<rssItem> listRss;
private Context context;

public RssAdapter(Context con,ArrayList<rssItem> lRss) {
this.listRss=lRss;
this.context=con;
}

@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
View inflate=View.inflate(context, R.layout.rss_item, null);
TextView ttitle=(TextView) inflate.findViewById(R.id.textView1);
TextView tauthor=(TextView) inflate.findViewById(R.id.textView2);
ttitle.setText(listRss.get(groupPosition).getTitle ()+" ");
tauthor.setText(listRss.get(groupPosition).getAuth or()+" ");

return inflate;

}

@Override
public View getChildView(int groupPosition, int childPosition,boolean isLastChild,
View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View inflate=View.inflate(context, R.layout.rss_subitem, null);

TextView tcontent=(TextView) inflate.findViewById(R.id.textView1);

tcontent.setText(listRss.get(groupPosition).getCon tent());

return inflate;
}

@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}

@Override
public boolean isChildSelectable(int arg0, int arg1) {
// TODO Auto-generated method stub
return true;
}

}
Aqui el obeto para la lista:

public class rssItem {
private String title;
private String link;
private String author;
private String content;

public String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}

public String getLink() {
return link;
}

public void setLink(String link) {
this.link = link;
}

public String getAuthor() {
return author;
}

public void setAuthor(String author) {
this.author = author;
}

public String getContent() {
return content;
}

public void setContent(String content) {
this.content = content;
}

}


Decir que el arraylist que el paso al adapter esta comprobado y no viene de hai el fallo , gracias de antemano. :ok:

desdroid
31/07/13, 08:52:35
A mi me pasa lo mismo, añado un ítem a un grupo y se añade también al resto de grupos. ¿Utilizas SQLite para obtener los datos?

desdroid
31/07/13, 12:49:22
¿Alguien nos puede ayudar, por favor?

rafaxplayer
31/07/13, 15:00:24
A mi me pasa lo mismo, añado un ítem a un grupo y se añade también al resto de grupos. ¿Utilizas SQLite para obtener los datos?

No no es sqlite , aunque la procedencia no debe tener nada que ver ya que como digo ( en mi caso) el arraylist de objetos que le paso al adapter es correcto.

rafaxplayer
01/08/13, 12:44:43
Solucionado , el tema es que los datos de los hijos deben ir en un array que contiene otro array para asi concuerden mediante groupposition y chilposition no se si me explico...

yo he creado un ArrayList<ArrayList<String>> para los hijos y se lo paso al adapter y accedo a los datos mediante list.get(groupposition).get(childposition ).

desdroid
08/08/13, 10:30:32
Ya he conseguido que cada hijo vaya dentro de su grupo correspondiente, sin que se dupliquen.

@Override
protected Cursor getChildrenCursor(Cursor groupCursor) {

final long idGroup = groupCursor.getLong(groupCursor.getColumnIndex("_id"));

groupCursor = nBDHelper.obtenerHijo(idGroup);
startManagingCursor(groupCursor);

return groupCursor;

}

¿Cómo puedo añadir ahora un item a un determinado grupo existente, habiendo seleccionado previamente dicho grupo?

desdroid
10/08/13, 17:45:22
Ayuda, por favor.

desdroid
14/08/13, 10:39:04
kriogeN, ¿puedes ayudarme? Todavía no me aclaro mucho con las listas expandibles.