我搜索了很多并尝试了一些东西,但当我试图获取字符串信息的意图关闭时,onActivityResult函数没有启动。
我用Visual Studio编写这个应用程序,这是我的代码:
打开用户可以键入字符串的活动的点击事件:
private void Btn_Valid_Click(object sender, EventArgs e)
{
----
Intent intent = new Intent(this, typeof(activity_OF_TransfertChxChmb));
StartActivityForResult(intent, 0);
----
}
打开的Intent中应返回字符串信息的函数:
private void Validate()
{
string stringToPassBack = tb_Store.Text;
// put the String to pass back into an Intent and close this activity
Intent intent = new Intent();
intent.PutExtra("result", stringToPassBack);
SetResult(Result.Ok, intent);
Finish();
}
以及应在第一个活动中启动的onActivityResult功能:
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
base.onActivityResult(requestCode, 0, data);
if (requestCode == 0)
{
if (resultCode == -1) // Ok
{
string result = data.GetStringExtra("result");
}
if (resultCode == 0) // Canceled
{
//Write your code if there's no result
}
}
}
我错过了什么,但不知道是什么。谢谢你的帮助。
您通过添加额外的
intent.PutExtra(Intent.ExtraText, stringToPassBack);
您的密钥是Intent.ExtraText
。
您正在通过检索额外信息
string result = data.GetStringExtra("result");
您的密钥是"result"
。
因此,也许Intent.ExtraText
不等于"result"
。你需要在两个地方使用同一把钥匙。