Question

J'ai une classe MainActivity avec un bouton « Ajouter un élément » et un ListView et une classe AddItemActivity avec une zone de texte et un bouton « Enregistrer ». L'utilisateur doit cliquer sur le bouton « Ajouter article », allez à l'écran AddItemActivity, entrez un élément, cliquez sur « Enregistrer », puis revenir à l'écran MainActivity mis à jour.

(BTW, j'utilise MonoDroid, mais je ne pense pas que cela est nécessaire un MonoDroid problème spécifique).

Mon événement, cliquez sur "Ajouter un article" (sur l'activité principale):

    private void addItemButton_Click(object sender, EventArgs e)
    {
        var intent = new Intent();
        intent.SetClassName(this, "monoApp.AddItemClassName");
        StartActivityForResult(intent, 0);
    }

Mon événement, cliquez sur "Enregistrer" (sur l'activité Ajouter un élément):

    private void saveButton_Click(object sender, EventArgs e)
    {
        var itemname = FindViewById<EditText>(Resource.id.itemName);

        _repo.SaveItem(new Item() {Name = itemname.Text.ToString()});

        Toast.MakeText(this, "You saved: " + itemname.Text, ToastLength.Short).Show();

        var intent = new Intent();
        SetResult(Result.Ok, intent);
        Finish();
    }

Et puis retour à l'activité principale:

    protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
    {
        base.OnActivityResult(requestCode, resultCode, data);

        RefreshTheList();
    }

Cela fonctionne comme un charme, sur la première fois. Les diapositives de l'écran vers « élément add », puis glisse Retour à quand il est fait. deuxième fois , il glisse sur, mais il glisse de nouveau à se , si cela a du sens. Et puis si je frappe sauver nouveau , il retourne à travailler bien.

Si la vidéo serait utile, j'ai posté un clip de ce que je vois à TwitVid: http: // www.twitvid.com/W7XZC

En fait, je ne veux pas à jamais « slide à lui-même », alors qu'est-ce que je fais mal?

Était-ce utile?

La solution

Je ne vois rien de mal dans votre code ici ... Je prends une supposition ici.

Votre deuxième activité pourrait obtenir lancé plusieurs fois dans la deuxième tentative en quelque sorte de vos portions du code restant.

Imprimer un journal dans votre addItemButton_Click et le contrôle. Si le journal est imprimé deux fois se il appelle la méthode 2 fois en quelque sorte.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top