Вопрос

У меня есть класс свидетельств: «Добавить элемент», а класс «Добавить элемент» и классом AdditeMactivity с TextBox и кнопкой «Сохранить». Пользователь должен нажать на «Добавить элемент», перейдите на экран AdditeMactivity, введите элемент, нажмите «Сохранить», а затем вернитесь к обновленному экрану основной акции.

(Кстати, я использую Monodroid, но я не думаю, что это необходимо для конкретной проблеме монодоиды).

Мой «Добавить элемент» Click Event (на главной активности):

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

My «Save» Click Event (ON Add Pite Activity):

    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();
    }

А затем вернуться в основную деятельность:

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

        RefreshTheList();
    }

Это работает как очарование, в первый раз. Экран скользит на «добавить элемент», а затем вернуться назад к главному, когда это сделано. То второй раз, он скользит, но затем он стремится обратно к сам, если это имеет смысл. А потом, если я ударю спасению опять таки, он возвращается к работе в порядке.

Если бы видео поможет, я разместил клип того, что я вижу в Twitvid: http://www.twitvid.com/w7xzc.

По сути, я не хочу, чтобы «скользить к себе» когда-либо, так что я делаю не так?

Это было полезно?

Решение

Я не вижу ничего плохого в вашем коде здесь ... Я думаю здесь.

Ваша вторая активность может быть запущена несколько раз во второй попытке как-то из ваших оставшихся порций кода.

Распечатайте журнал внутри вашего AdditeMbutton_Click и проверьте. Если журнал напечатан дважды, то он вызывает метод 2 раза.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top