Arrays und ArrayLists

E

Exeu

Neues Mitglied
0
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
 
Warum willst du die ArrayList überhaupt zu nem Array umwandeln?

Kannst doch auch weiterhin damit arbeiten.
 
Plan war es eine Dialogbox (Alertdialog) Aufploppen zu lassen in welchem genau diese Nummern als Auswahlmöglichkeit stehen.
 
Dynamisch = ArrayList!

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

MfG
 
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++
 
  • Danke
Reaktionen: Exeu
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.
 
gibts da nicht dann einen onitemselectedlistener oder sowas?
Zumindest gibts den in Listviews und genau diese wird dein Alertdialog ja darstellen.
 
Zuletzt bearbeitet:
Fr4gg0r schrieb:
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++


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

Code:
String[] array = deine_arraylist.toArray(new String[0]);
 
the_alien schrieb:
Vielleicht finden wir was, das noch komplizierter ist... :eek:

Code:
String[] array = deine_arraylist.toArray(new String[0]);

Er meinte doch bei ihm ginge das nicht. :p
 
Ja, weil er es wenn dann falsch benutzt hat ;)
 
the_alien schrieb:
Ja, weil er es wenn dann falsch benutzt hat ;)

sollte es nicht
Code:
String[] array = deine_arraylist.toArray(new String[[B]deine_arraylist.size()[/B]]);
heißen?
 
Nein, ein Array der Größe 0 reicht. Wird letztenendes nur benötigt um den Typ des Arrays zu bestimmen.
 
the_alien schrieb:
Nein, ein Array der Größe 0 reicht. Wird letztenendes nur benötigt um den Typ des Arrays zu bestimmen.

kk, gut zu wissen, ich hab das noch nie ausprobiert. spart ein bisschen code :)
 

Ähnliche Themen

M
  • MikelKatzengreis
Antworten
5
Aufrufe
118
swa00
swa00
Laser5001
Antworten
3
Aufrufe
646
swa00
swa00
W
Antworten
2
Aufrufe
739
rene3006
R
Zurück
Oben Unten