mono for Android 之StartActivityForResult

使用StartActivityForResult方法可以从打开的界面中接收返回参数。

使用示例:

StartActivityForResult(typeof(ActWelcome), 11);

覆写方法:

protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
		{
			base.OnActivityResult(requestCode, resultCode, data);
			switch (requestCode)
			{
				case  11:
				break;
			}
		}

当ActWelcome界面返回,就会执行上面的方法。requestCode就是我们调用StartActivityForResult方法传入的第二个参数。

在ActWelcome界面返回时执行以下代码

SetResult(Result.Ok);
			Finish();


例外情况:

如果在ActWelcome类上面添加了以下代码,那StartActivityForResult并不会像预期的那样执行

[Activity(Label = "@string/ApplicationName", MainLauncher = false, 
 Icon = "@drawable/Icon", LaunchMode = LaunchMode.SingleTask)]

主要是这一句LaunchMode = LaunchMode.SingleTask。如果添加了这句代码,当我们调用StartActivityForResult方法时,会立即执行OnActivityResult方法,且Result为Cancel,然后再打开ActWelcome界面。接着如果我们从ActWelcome界面返回,并不会执行OnActivityResult方法了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值