GridView éléments les changements de leur lieu de manière dynamique lorsque le défilement de l'écran
j'ai un gridview mise en page, et tous les éléments sont insérez très fine,
maintenant, si j'ai vérifier sur grand écran alors tout le travail effectué est bien, parce que pas de défilement est nécessaire
mais si j'ai vérifier sur petit écran alors les éléments sont changé leur position de manière dynamique,
bereif exemple est donné ci-dessous:-
comme j'ai 28 articles et disposés dans une grille de 7*4, maintenant, si jusqu'à 20 éléments affichés dans le premier écran, demeurant 8 est montré alors que j'ai faites défiler l'écran vers le bas, mais maintenant, certains éléments de la première ou de la deuxième ligne est également mis en dernière ligne.
code est ici
public class ImageAdapter extends BaseAdapter
{
Context mContext;
//public static final int ACTIVITY_CREATE = 10;
public ImageAdapter(Context c)
{
mContext = c;
}
@Override
public int getCount()
{
//TODO Auto-generated method stub
return providers.length;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
//TODO Auto-generated method stub
View v;
if(convertView==null)
{
LayoutInflater li = getLayoutInflater();
v = li.inflate(R.layout.icontext, null);
TextView tv = (TextView)v.findViewById(R.id.icon_text);
tv.setText(providers[position]);
ImageView iv = (ImageView)v.findViewById(R.id.icon_image);
iv.setImageResource(R.drawable.icon);
}
else
{
v = convertView;
}
return v;
}
- Peut publier n'importe quel code? Par exemple, votre carte code?
- - Je coller le ImageAdapter code, plz voir
- hey je colle le code, maintenant, pouvez-vous me suggérer
Vous devez vous connecter pour publier un commentaire.
Vous devriez changer votre
getView
méthode comme ceci.Votre problème, c'est que lorsque vous utilisez
convertView
il stocke des données vieilles de former les premiers enregistrements. Convertir affichage est utilisé pour éviter la mise en page de l'inflation à partir de ressources qui vous coûte du temps et de la mémoire. Vous devriez utiliser l'ancien gonflé vue, mais de nouvelles données.J'ai juste supprimé le
il fonctionne