Partage
  • Partager sur Facebook
  • Partager sur Twitter

Afficher une variable d'un obj d'une arraylist

    26 mars 2020 à 19:07:01

    Bonjour à tous,

    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 !!

    • Partager sur Facebook
    • Partager sur Twitter

    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.
    • Editeur
    • Markdown