[OFFEN] Lists-in-List-Problem

D

DMD-OL

Neues Mitglied
0
hi.
hab ein kleines problem mit meinen lists in list.
ich möchte erhalten:
[[aa,bb,cc], [dd,ee,ff]].

ich erhalte aber:
[[aa,bb,cc,dd,ee,ff]]

CODE:
Code:
public void ShowData(){
        show_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                ArrayList<String> datenList = new ArrayList<String>();
                ArrayList<String> arrayList = new ArrayList<String>();

                List<MaterialModel> materialList = myDB.getAllMaterial();

                for (int i = 0; i < materialList.size(); i++) {

                    MaterialModel material = materialList.get(i);

                    String name = material.getName() == null ? "" : material.getName();
                    String article = material.getArticle() == null ? "" : material.getArticle();
                    String description = material.getDescription() == null ? "" : material.getDescription();
                    
                    arrayList.add(name);
                    arrayList.add(article);
                    arrayList.add(description);

                }

                datenList.add(arrayList.toString());

                CustomAlertDialog.createMessageOk(MainActivity.this, "Datenbankinhalt:" ,datenList.toString()).show();
            }
        });
    }
WO IST DAS DENN BITTE FALSCH???
 
Er macht genau das was du geschrieben hast. Erst komplett durch materiallist gehen und von Material name, article und description in die arraylist adden. *danach* addest du genau einmal was in die datenList. Nämlich die Stringrepräsentation von arrayList. Damit ist dort nur ein Element drin, die flache Liste arrayList.
Was du wahrscheinlich wolltest ist folgendes: (auch wenn ich nicht weiß was du damit vorhast)

Code:
public void ShowData(){
       show_button.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {

               ArrayList<String> datenList = new ArrayList<String>();
               ArrayList<String> arrayList = new ArrayList<String>();

               List<MaterialModel> materialList = myDB.getAllMaterial();

               for (int i = 0; i < materialList.size(); i++) {

                   MaterialModel material = materialList.get(i);

                   String name = material.getName() == null ? "" : material.getName();
                   String article = material.getArticle() == null ? "" : material.getArticle();
                   String description = material.getDescription() == null ? "" : material.getDescription();
                   
                   arrayList.add(name);
                   arrayList.add(article);
                   arrayList.add(description);
                   datenList.add(arrayList.toString());
                   arrayList.clear();
               }

               CustomAlertDialog.createMessageOk(MainActivity.this, "Datenbankinhalt:" ,datenList.toString()).show();
           }
       });
   }

PS: Kein Grund zu schreien ;)
 
  • Danke
Reaktionen: lordzwieback und swa00
so ein mist, danke :)
 

Ähnliche Themen

Jansenwilson
Antworten
1
Aufrufe
670
Mazuch
Mazuch
A
Antworten
10
Aufrufe
1.002
swa00
swa00
D
Antworten
23
Aufrufe
2.312
Data2006
D
Zurück
Oben Unten