GridView à l'intérieur de la liste déroulante dans android
Je veux mettre un gridview avec des images à l'intérieur d'une liste extensible...j'ai déjà faire, mais la gridview ne montrent pas tous les éléments...
Comment puis-je faire ma liste extensible à l'enfant de s'adapter à la gridview taille?
LISTE ADAPTATEUR
public class CustomListAdapter extends BaseExpandableListAdapter
{
String[] catg = { "Administração, Escritorio e Industria", "Cultura e Entretenimento", "Educação e Crianças", "Eventos e Estado do tempo", "Amigos, Familia e Habitações", "Multimédia", "Diversos", "Números e Letras", "Restaurantes e Hoteis", "Desporto, Saude e Beleza", "Lojas", "Turismo e Natureza", "Transportes" };
Context myctx;
@Override
public Object getChild(int groupPosition, int childPosition)
{
//TODO Auto-generated method stub
return null;
}
@Override
public long getChildId(int groupPosition, int childPosition)
{
return childPosition;
}
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent)
{
ViewGroup item = getViewGroupChild(convertView, parent);
GridView label = (GridView) item.findViewById(ipvc.estg.placebook.R.id.gridview);
label.setAdapter(new GridAdapter(parent.getContext(), groupPosition+1));
return item;
}
private ViewGroup getViewGroupChild(View convertView, ViewGroup parent)
{
//The parent will be our ListView from the ListActivity
if (convertView instanceof ViewGroup)
{
return (ViewGroup) convertView;
}
Context context = parent.getContext();
LayoutInflater inflater = LayoutInflater.from(context);
ViewGroup item = (ViewGroup) inflater.inflate(ipvc.estg.placebook.R.layout.expandable_list_row, null);
return item;
}
@Override
public int getChildrenCount(int groupPosition)
{
return 1;
}
@Override
public Object getGroup(int groupPosition)
{
return catg[groupPosition];
}
@Override
public int getGroupCount()
{
return catg.length;
}
@Override
public long getGroupId(int groupPosition)
{
return groupPosition;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent)
{
View item = getViewGroupGroup(convertView, parent);
TextView text = (TextView) item.findViewById(android.R.id.text1);
text.setText(catg[groupPosition]);
return item;
}
private View getViewGroupGroup(View convertView, ViewGroup parent)
{
//The parent will be our ListView from the ListActivity
if (convertView instanceof View)
{
return (View) convertView;
}
Context context = parent.getContext();
LayoutInflater inflater = LayoutInflater.from(context);
View item1 = (View) inflater.inflate(android.R.layout.simple_expandable_list_item_1, null);
return item1;
}
@Override
public boolean hasStableIds()
{
//TODO Auto-generated method stub
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition)
{
//TODO Auto-generated method stub
return true;
}
}
LIGNE LISTE MISE EN PAGE
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<GridView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="50dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center" />
</LinearLayout>
- pouvez-vous montrer le GridAdapter? parce que j'ai déjà en œuvre, extensible listview à l'intérieur de navigation tiroir, et je veux ajouter un gridview contiennent des images à l'intérieur extensible listview enfant.
- Hey, pouvez-vous s'il vous plaît partager le plein de codage?
InformationsquelleAutor Zasuk | 2011-04-19
Vous devez vous connecter pour publier un commentaire.
J'ai fait des tonnes de recherches mon propre pour la résolution de cette situation, mais n'a rien trouvé jusqu'à présent, j'ai donc fait une solution de contournement.
Cette solution suppose que vous savez /pouvez récupérer la largeur de vos colonnes et la hauteur de votre cellule de la grille moteurs de rendu (le dp définissez la taille de votre mise en page xmls).
Vous devez insérer un peu plus de lignes à l'intérieur de votre
ExpandableListAdapter
'sgetChildView
méthode:Avec l'ajout ci-dessus, j'ai été en mesure de produire le suivant affiche mises en page:
et
J'espère que cela peut vous aider.
parentView
etintValues
signifie ? Merci d'avanceparentView
est un point de vue (en option contenant de la grille), qui est la largeur peut être déterminé, et correspond à la largeur de la grille. Si vous avez de la grille fixe la largeur, vous pouvez l'utiliser. LeintValues
est une liste d'entiers qui sont introduits dans la grille. Sur la base du nombre de ces entiers, et connaître le nombre de colonnes que vous êtes en mesure de calculer le nombre de lignes nécessaires. Espérons que cela s'éclaircit un peu les choses.ExpandableListView
dansLinearLayout
dans un fichier XML et leGridView
est à l'intérieur d'un autreLinearLayout
dans un autre fichier XML. Donc, dois-je obtenir laLinearLayout
que mon parentView ou est-ce une simple Grille parlez-vous? Je suis d'alimentation le contenu de la Grille à partir d'une autre JSON où il peut être augmenter. Alors, comment puis-je compter le intValues je vous Remercieparent
paramètre fonctionne pour vous ou pas (ce que je comprends, il se réfère à laLinearLayout
vous êtes à la recherche pour, donc au lieu d'utiliserparentView
vous pouvez utiliser leparent
du paramètre de largeur); laintValues
, il n'est pas question que la longueur de cette liste de changements, avec une bonneBaseAdapter
extension pour leExpandableListView
vous pouvez faire appel à ellenotifyDatasetChanged()
chaque fois que c'est nécessaire, de sorte que vous vous sentez libre de compter les articles dans le JSON liste, et de calculer avec elle.tout ce que vous devez faire est de changer le GrideView avec ExpandableHeightGridView
et configurer XML avec
et dans le code
comment sur l'utilisation d'une Galerie au lieu de GridView?
vérifier cette la!
Essayer cette github le code source complet de consommables affichage de la liste avec gridview
https://github.com/coolwd10/ExpandablelistwithGirdview