Es ist meine erste Anwendung in Xamarin für Android. Ich möchte mit zwei Bildschirmen beginnen:ListView zum Herunterladen von Dateien in Xamarin
- ersten (Haupt-) Bildschirm mit 3 Tasten: Last Task-Nummer 1, Last Task-Nummer 2, Anzeige der Aufgabenliste
- nach dem Drücken ersten oder zweiten Knopf, der Artikel ist hinzugefügt, um in der Liste im zweiten Bildschirm,
- nach Drücken der dritten Schaltfläche, zweiten Bildschirm mit Aufgaben Liste geöffnet ist.
Aber ich habe ein Problem mit ListView. Zum Beispiel: Ich möchte die erste Aufgabe zu ListView hinzufügen, zurück zum ersten Bildschirm, zweite Aufgabe hinzufügen (die erste Aufgabe sollte bereits in der Liste sein), zurück zum ersten Bildschirm, den zweiten Bildschirm drücken und zwei Aufgaben sollten schon da sein.
Haupttätigkeit:
public class MainActivity : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
Button addButton1 = FindViewById<Button>(Resource.Id.AddButton1);
Button addButton2 = FindViewById<Button>(Resource.Id.AddButton2);
Button downloadsScreen = FindViewById<Button>(Resource.Id.DownloadsScreen);
var intent = new Intent(this, typeof(Downloads));
addButton1.Click += (object sender, EventArgs e) =>
{
intent.PutExtra("downloads", "wartosc1");
StartActivity(intent);
};
addButton2.Click += (object sender, EventArgs e) =>
{
intent.PutExtra("downloads", "wartosc2");
StartActivity(intent);
};
downloadsScreen.Click += (object sender, EventArgs e) =>
{
StartActivity(intent);
};
}
}
Aktivität mit Aufgaben:
public class Downloads : ListActivity
{
Dictionary<string, Task> zadania = new Dictionary<string, Task>();
List<string> listaZadan = new List<string>();
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
ArrayAdapter<string> lista = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, listaZadan);
}
protected override void OnStart()
{
var download = Intent.GetStringExtra("downloads") ?? null;
Task zadanie = new Task();
EncryptAndDecrypt decryption = new EncryptAndDecrypt();
zadanie = JsonConvert.DeserializeObject<Task>(decryption.Decrypt(download, "haslo"));
if (!zadania.ContainsKey(zadanie.Name))
{
zadania.Add(zadanie.Name, zadanie);
listaZadan.Add(zadanie.Name);
}
else
new AlertDialog.Builder(this).SetMessage("Zadanie zostało już dodane do pobierania").Show();
}
}
Wie kann ich es beheben? Eine solche Liste ist eine gute Möglichkeit, heruntergeladene Dateien anzuzeigen? In Zukunft möchte ich ProgressBar zu jedem Element in ListView hinzufügen. Bitte senden Sie keine Links zu Tutorials, ich habe sie alle gesehen. Ich kümmere mich um Informationen von Leuten, die damit umgehen.