Array mit der größe n ?

  • C#

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von EaranMaleasi.

    Array mit der größe n ?

    ich bin gerade dabei mit c# eine anwendung für Android zu entwickeln, und bin nun über ein kleines problem gestolpert.

    ich möchte aus einem string array eine ListView füllen, problem dabei, ich möchte das array mit einer unbestimmten menge daten befüllen. ich bin in der hinsicht noch relativ neu, und arrays habe ich schon in java gehasst. mein bisheriger quellcode würde demnach so aussehen.
    Spoiler anzeigen

    C#-Quellcode

    1. protected override void OnCreate(Bundle bundle)
    2. {
    3. base.OnCreate(bundle);
    4. SetContentView(Resource.Layout.TaskLayout);
    5. Android.Database.ICursor c = connection1.getAufträge();
    6. if (c.MoveToFirst())
    7. {
    8. AssetDesc = c.GetString(1);
    9. MaintDesc = c.GetString(3);
    10. LVItems = new String[] { "" + AssetDesc + " / " + MaintDesc + "" };
    11. LV1 = FindViewById<ListView>(Resource.Id.listView1);
    12. ArrayAdapter<string> LVArrayAdapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, LVItems);
    13. LV1.Adapter = LVArrayAdapter;
    14. while (c.MoveToNext())
    15. {
    16. AssetDesc = c.GetString(1);
    17. MaintDesc = c.GetString(3);
    18. LVItems = new String[n] { "" + AssetDesc + " / " + MaintDesc + "" };
    19. LV1 = FindViewById<ListView>(Resource.Id.listView1);
    20. LVArrayAdapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, LVItems);
    21. LV1.Adapter = LVArrayAdapter;
    22. }
    23. }
    24. else
    25. {
    26. Message = "No Tasks at the Moment";
    27. AlertDialog.Builder builder = new AlertDialog.Builder(this);
    28. builder.SetTitle(Android.Resource.String.DialogAlertTitle);
    29. builder.SetMessage("" + Message + "");
    30. builder.Show();
    31. }
    32. }


    meine frage ist, wie kann ich dem array sagen an welcher stelle es den "neuen" eintrag speichern soll? ist das möglich? oder muss ich dort doch auf die List...oder was auch immer das ist umsteigen?

    MfG Earan

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „EaranMaleasi“ ()

    Vielen dank funktioniert perfekt.

    meine Lösung:
    Spoiler anzeigen

    C#-Quellcode

    1. protected override void OnCreate(Bundle bundle)
    2. {
    3. base.OnCreate(bundle);
    4. SetContentView(Resource.Layout.TaskLayout);
    5. Android.Database.ICursor c = connection1.getAufträge(); //Prüfung ob der übergebene Cursor daten enthält
    6. if (c.MoveToFirst())
    7. { //Auslesen der Daten in eine ListView
    8. AssetDesc = c.GetString(1);
    9. MaintDesc = c.GetString(3);
    10. List<string> LVItems = new List<string>();
    11. LVItems.Add("" + AssetDesc + " / " + MaintDesc + "");
    12. while (c.MoveToNext()) //Auslesen bis keine Daten mehr vorhanden sind und schreiben in eine List view.
    13. {
    14. AssetDesc = c.GetString(1);
    15. MaintDesc = c.GetString(3);
    16. LVItems.Add("" + AssetDesc + " / " + MaintDesc + "");
    17. }
    18. //Einfügen der Daten in die ListView
    19. LV1 = FindViewById<ListView>(Resource.Id.listView1);
    20. ArrayAdapter<string> LVArrayAdapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, LVItems);
    21. LV1.Adapter = LVArrayAdapter;
    22. }
    23. else // sollten keine Aufträge vorhanden sein, so wird in einer Warnmeldung folgende nachricht ausgegeben
    24. {
    25. Message = "No Tasks at the Moment";
    26. AlertDialog.Builder builder = new AlertDialog.Builder(this);
    27. builder.SetTitle(Android.Resource.String.DialogAlertTitle);
    28. builder.SetMessage("" + Message + "");
    29. builder.Show();
    30. }
    31. }

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „EaranMaleasi“ ()