Je suis nouveau sur le forum et j'aurais besoin de quelques explications.
J'ai pour projet d'afficher des objets d'une ArrayList dans une listView, le problème est que je suis un peu perdu sur la façon de procéder.
J'ai normalement déjà crée ma liste, mais je n'arrive pas du tout à l'afficher sachant qu'elle se situe dans ma Class FormeMgr et non dans ma Class MainActivity.
Merci d'avance pour vos futurs conseils et explications.
ackage com.example.listealatoire;
import android.graphics.Color;
import android.os.Build;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.annotation.RequiresApi;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Vector;
@RequiresApi(api = Build.VERSION_CODES.O)
public class FormeMgr{
private static FormeMgr instance = new FormeMgr();
private ArrayList<Forme> liste;
private FormeMgr()
{
liste = new ArrayList<Forme>();
Init();
getArray();
System.out.println(liste);
}
private void Init() {
int min = 1;
int max = 3;
Random random = new Random();
for (int i = 0; i < 100; i++){
switch (random.nextInt(max - min) + min) {
case 1:
liste.add(createCarre());
break;
case 2:
liste.add(createHexagone());
break;
case 3:
liste.add(createPentagone());
break;
}
}
}
private Pentagone createPentagone() {
Pentagone pentagone = new Pentagone(createColor(), "pentagone",generateVectorLongeur(5));
return pentagone;
}
private Hexagone createHexagone() {
Hexagone hexagone = new Hexagone(createColor(), "hexagone", generateVectorLongeur(6));
return hexagone;
}
private Carre createCarre() {
Carre carre = new Carre(createColor(), "carre", 15);
return carre;
}
private int createColor() {
int min = 1;
int max = 3;
Random random = new Random();
int r = random.nextInt(max - min) + min;
int g = random.nextInt(max - min) + min;
int b = random.nextInt(max - min) + min;
return Color.rgb(r,g,b);
}
private Vector<Integer> generateVectorLongeur(int nblg){
int min = 1;
int max = 255;
Random random = new Random();
Vector<Integer> newLg = new Vector<Integer>();
for(int i = 0; i < nblg; i++);
{
newLg.add(random.nextInt(max - min) + min);
}
return newLg;
}
public ArrayList getArray()
{
return this.liste;
}
public static FormeMgr getInstance()
{
return instance;
}
}
- Edité par BenoitBlanc1 11 septembre 2021 à 17:50:44
Afficher ma liste grace à une ListView
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.