安卓StartActivityForResult和Finish(视频)
-
27-09-2019 - |
题
我有一个“添加项”按钮和一个列表视图和一个文本框一个AddItemActivity类和“保存”按钮MainActivity类别。用户应该点击“添加项目”,进入AddItemActivity屏幕上,输入项目,点击“保存”,然后返回到更新的MainActivity屏幕。
(顺便说一句,我使用MonoDroid的,但我不认为这是必要的一个MonoDroid的特定问题)。
我的 “添加项目” click事件(在主要活动):
private void addItemButton_Click(object sender, EventArgs e)
{
var intent = new Intent();
intent.SetClassName(this, "monoApp.AddItemClassName");
StartActivityForResult(intent, 0);
}
我的 “保存” click事件(在添加项活动):
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倍。
不隶属于 StackOverflow