1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Arrays und ArrayLists

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Exeu, 14.08.2010.

  1. Exeu, 14.08.2010 #1
    Exeu

    Exeu Threadstarter Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    14.08.2010
    Hi,
    schreibe grad eine kleine App.
    In dieser soll an einer gewissen Stelle ein Array aufgebaut werden bei dem ist noch unklar ist, wieviele Einträge es haben wird, da es dynamisch generiert wird.

    Code:
    while(phone.moveToNext())
                            {
                                String phoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
    
                            }
    
    An dieser Stelle soll jede Telefonnummer die vorhanden ist in dieses Array geschrieben werden.

    Was danach heraus kommen sollte wäre dann äquivalent zu diesem hier:

    Code:
        static private String[] phones =
        {"+49223231", "+2123123"};
    
    Nur wie baue ich das ganze Dynamisch auf?
    Ich habe es schon über ArrayListen versucht und die dann versucht nachher mit toArray(); umzubauen aber das hat alles nicht wirklich funktioniert.

    Wäre cool wenn jmd nen Vorschlag hat.

    LG Exeu
     
  2. ts-apps, 14.08.2010 #2
    ts-apps

    ts-apps Erfahrener Benutzer

    Beiträge:
    194
    Erhaltene Danke:
    39
    Registriert seit:
    27.03.2010
    Warum willst du die ArrayList überhaupt zu nem Array umwandeln?

    Kannst doch auch weiterhin damit arbeiten.
     
  3. Exeu, 14.08.2010 #3
    Exeu

    Exeu Threadstarter Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    14.08.2010
    Plan war es eine Dialogbox (Alertdialog) Aufploppen zu lassen in welchem genau diese Nummern als Auswahlmöglichkeit stehen.
     
  4. Zonnex, 14.08.2010 #4
    Zonnex

    Zonnex Fortgeschrittenes Mitglied

    Beiträge:
    431
    Erhaltene Danke:
    49
    Registriert seit:
    12.09.2009
    Dynamisch = ArrayList!

    Einfach eine ArrayList<String> erstellen und anschließen MyArrayList.get(AUSWAHL);
    (ArrayList.get(XY) entsprich Array[XY])

    MfG
     
  5. Fr4gg0r, 14.08.2010 #5
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    Dann musst du aber im Alertdialog alles selber erstellen ;)
    Wenn du ein normales Array hast, kannst du dieses dem alertdialog geben und bist damit fertig. :)
    Ansonsten müsste auch gehen String[] numbers = new String[deine_arraylist.size()]
    int i = 0;
    for(String s: deine_arraylist)
    numbers = s;
    i++
     
    Exeu bedankt sich.
  6. Exeu, 14.08.2010 #6
    Exeu

    Exeu Threadstarter Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    14.08.2010
    Der AlertBox muss ich ein Array übergeben ja.

    Habs jetzt wie folgt implementiert:
    Code:
    String[] num = new String[collectedPhones.size()];
    for(int a=0;a<collectedPhones.size();a++)
    {
    num[a] = collectedPhones.get(a);
    }
    
    Weiß zufällig jmd. wie ich aus der AlertBox das Ausgewählte Item abfrage?
    Wenn man die Box mit OK schließt soll ja die Nummer die er dort drin ausgewählt hat z.B. in ein Textfeld geschrieben werden.


    Code:
    .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
    
    
                        }
                    })
    
    Hab dort allerdings nur den Button zur Verfügung der geklickt wurde.
     
  7. Fr4gg0r, 14.08.2010 #7
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    gibts da nicht dann einen onitemselectedlistener oder sowas?
    Zumindest gibts den in Listviews und genau diese wird dein Alertdialog ja darstellen.
     
    Zuletzt bearbeitet: 14.08.2010
  8. the_alien, 15.08.2010 #8
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009


    Vielleicht finden wir was, das noch komplizierter ist... :eek:

    Code:
    String[] array = deine_arraylist.toArray(new String[0]);
     
  9. Fr4gg0r, 15.08.2010 #9
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    Er meinte doch bei ihm ginge das nicht. :p
     
  10. the_alien, 15.08.2010 #10
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Ja, weil er es wenn dann falsch benutzt hat ;)
     
  11. j_d_, 16.08.2010 #11
    j_d_

    j_d_ Android-Experte

    Beiträge:
    590
    Erhaltene Danke:
    100
    Registriert seit:
    17.06.2009
    Phone:
    OnePlus One
    sollte es nicht
    Code:
    String[] array = deine_arraylist.toArray(new String[[B]deine_arraylist.size()[/B]]);
    heißen?
     
  12. the_alien, 16.08.2010 #12
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Nein, ein Array der Größe 0 reicht. Wird letztenendes nur benötigt um den Typ des Arrays zu bestimmen.
     
  13. j_d_, 16.08.2010 #13
    j_d_

    j_d_ Android-Experte

    Beiträge:
    590
    Erhaltene Danke:
    100
    Registriert seit:
    17.06.2009
    Phone:
    OnePlus One
    kk, gut zu wissen, ich hab das noch nie ausprobiert. spart ein bisschen code :)
     

Diese Seite empfehlen