Je me suis mis sur un projet pratique en marge des cours java/android mais j'ai un petit problème.
J'ai une boucle dans ma main pour créer des bouton pour chaque objet d'une Arraylist. Les boutons se créaient mais impossible de récupérer l'attribut titre pour l'afficher dessus
Je bloque depuis hier et toutes mes tentatives sont veines, au secours svp !
Ma main :
public class MainActivity extends AppCompatActivity {
private TextView mMainTitre;
private Button mMainBA;
int i =0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mMainTitre = (TextView) findViewById(R.id.MainTitre);
mMainBA = (Button) findViewById(R.id.AjouterButton);
while(i < RecettesBank.ListeDesRecettes.size()) {
LinearLayout ll = (LinearLayout) findViewById(R.id.MainLayout);
Button Bt = new Button(this);
Bt.setText(RecettesBank.ListeDesRecettes.get(i).getTitre());
ll.addView(Bt);
i++;
}
mMainBA.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// The user just clicked
Intent ajouteractivity = new Intent(MainActivity.this, Ajouter.class);
startActivity(ajouteractivity);
}
});
}
}
Ma classe Ajouter :
public class Ajouter extends AppCompatActivity {
public String Titre;
public String Categorie;
public String PaxS;
//public int Pax;
public String Ingredients;
public Recette recette;
private Button Valider;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ajouter);
EditText eTitre = (EditText) findViewById(R.id.aTitre);
Titre = eTitre.getText().toString();
EditText eCategorie = (EditText) findViewById(R.id.aCategorie);
Categorie = eCategorie.getText().toString();
EditText ePax = (EditText) findViewById(R.id.aPax);
PaxS = ePax.getText().toString();
//Pax = Integer.parseInt(PaxS); ???
EditText eIngredients = (EditText) findViewById(R.id.aIngredients);
Ingredients = eIngredients.getText().toString();
Valider = (Button) findViewById(R.id.aValider);
Valider.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// The user just clicked
recette = new Recette(Titre,Categorie,PaxS,Ingredients);
Intent backToMain = new Intent(Ajouter.this, MainActivity.class);
startActivity(backToMain);
}
});
}
}
Recette :
public class Recette {
private String Titre;
private String Categorie;
private String Pax;
private String Ingredients;
public Recette(String titre, String categorie, String pax, String ingredients) {
Titre = titre;
Categorie = categorie;
Pax = pax;
Ingredients = ingredients;
RecettesBank.ListeDesRecettes.add( this );
}
public String getTitre() {
return Titre;
}
public void setTitre(String titre) {
Titre = titre;
}
public String getCategorie() {
return Categorie;
}
public void setCategorie(String categorie) {
Categorie = categorie;
}
public String getPax() {
return Pax;
}
public void setPax(String pax) {
Pax = pax;
}
public String getIngredients() {
return Ingredients;
}
public void setIngredients(String ingredients) {
Ingredients = ingredients;
}
@Override
public String toString() {
return "Recette{" +
"Titre='" + Titre + '\'' +
", Categorie='" + Categorie + '\'' +
", Pax='" + Pax + '\'' +
", Ingredients='" + Ingredients + '\'' +
'}';
}
}
RecetteBank :
public class RecettesBank {
public static ArrayList<Recette> ListeDesRecettes = new ArrayList<>();
}
Si quelqu'un a le temps et la motive de jeter un coup d'oeil.
Merci d'avance et bon confinement à tous !!
Afficher une variable d'un obj d'une arraylist
× 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.