Pour ma première GridView, je me retrouve face à un probleme assez emmerd***: il n'affiche que les 16 premiers éléments en boucle.
Voici mon code et quelques explications.
En général: directoryEntries est une liste de Strings représentant les fichiers dans le répertoire courant. J'aimerais afficher l'image si c'est un png et une ressource si répertoire.
( pour l'instant, code brut, je ne gere pas les exceptions et les mauvais fichiers)
1) la ligne Log.i(TAG,"position= "+ position+" path= "+path +"total= "+ directoryEntries.size()); me renvoie bien les renseignements désirés soit la position, le chemin et le total ( 82 fichiers image)
2) ceci s'arrête apres 16 éléments ( je m'arrete donc à position = 15 ) et je ne continue pas jusque 82.
3) j'ai bien 82 éléments affichés, mais ce sont les 16 premiers qui se répetent en boucle.
public class ImageAdapter extends BaseAdapter{
Context mContext;
//public static final int ACTIVITY_CREATE = 10;
public ImageAdapter(Context context) {
super();
mContext = context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return directoryEntries.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View v;
if(convertView==null){
String path=directoryEntries.get(position);
Log.i(TAG,"position= "+ position+" path= "+path +"total= "+ directoryEntries.size());
LayoutInflater li = getLayoutInflater();
v = li.inflate(R.xml.icon, null);
TextView tv = (TextView)v.findViewById(R.id.icon_text);
tv.setText(path.substring(path.lastIndexOf("/")+1));
ImageView iv = (ImageView)v.findViewById(R.id.icon_image);
if (new File(path).isDirectory())
iv.setImageResource(R.drawable.folder);
else
iv.setImageBitmap(BitmapFactory.decodeFile(path));
}
else
{
v = convertView;
}
return v;
}
}
Merci à tous ceux qui pourront m'aider.
Edit:
Je viens de voir le tres bon tuto de Neokira apres avoir posé la question, et il me semble qu'il fait la même chose quoi moi..
http://forum.frandro...?pid=6165#p6165
Modifié par Profete162, 27 April 2010 - 17:18.







Retour en haut








