質問

「アイテムの追加」ボタンとリストビュー、およびテキストボックスと「保存」ボタンを備えたadditemactivityクラスを備えたMainActivityクラスがあります。ユーザーは「アイテムの追加」をクリックし、additemactivity画面に移動し、アイテムを入力し、[保存]をクリックしてから、更新されたMainActivity画面に戻ります。

(ところで、私はモノドロイドを使用していますが、これは単調な特定の問題であるとは思わない)。

私の「アイテムの追加」クリックイベント(メインアクティビティ):

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

私の「保存」クリックイベント(アイテムアクティビティの追加):

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

これは初めて魅力のように機能します。画面はスライドして「アイテムを追加」し、その後、メインが完了したらメインに戻ります。 2回目, 、それはスライドしますが、それからスライドします 自体, 、それが理にかなっている場合。そして、私が保存した場合 また, 、それは正常に動作することに戻ります。

ビデオが役立つなら、私はTwitvidに見たもののクリップを投稿しました: http://www.twitvid.com/w7xzc

基本的に、私はそれがこれまでに「それ自体に戻って戻って」したくないので、私は何が間違っているのですか?

役に立ちましたか?

解決

私はここであなたのコードに何も悪いことを見ていません...私はここで推測しています。

2番目のアクティビティは、コードの残りの部分から何らかの形で2回目の試行で複数回起動される可能性があります。

addItembutton_click内にログを印刷して確認します。ログが2回印刷されている場合、メソッドはどういうわけか2回呼び出します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top