移动GIS作业之onActivityResult使用

    先上效果图

目的就是点输入起点时,跳转到一个新的页面,然后选择地点后结果回传

这时就能用到startActivityForResult方法以及onActivityResult方法,首先在左边的页面的类中实现这个方法

@Override
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO Auto-generated method stub
		super.onActivityResult(requestCode, resultCode, data);
	}
先分析三个参数requestCode,resultCode,data。


requestCode:请求码,为了区分不同来源的请求而设置的一个code,在这里因为起点和终点在同一个页面,所以两个的requestcode是相同的,如果不同的话就不一样了。

resultCode:结果码,这里就得说到setResult(int resultCode,Intent data)这个方法,是结果的页面使用的,比如起点、终点指向同一个activity,最后返回的数据是起点,还是终点就依赖resultCode进行区分。

data:是结果页返回的数据,为intent类型。

请求页

@Override
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (REQUEST_CODE == requestCode) {
			switch (resultCode) {
			case 101:
				Bundle bundle = data.getExtras();
				String strReturn = bundle.getString("MSG").trim();
				mQidian.setText(strReturn);
				break;
			case 102:
				Bundle bundle2 = data.getExtras();
				String strReturn2 = bundle2.getString("MSG").trim();
				mZhongdian.setText(strReturn2);
				break;

			default:
				break;
			}
		}
		super.onActivityResult(requestCode, resultCode, data);
	}


	Intent intent = new Intent();
				intent.putExtra("textmsg", "输入终点...");
				intent.putExtra("request", 102);
				intent.setClass(getActivity(), SelectPoint.class);
				this.startActivityForResult(intent, REQUEST_CODE);

结果页

	textmsg = this.getIntent().getStringExtra("textmsg");
		request= this.getIntent().getIntExtra("request", 102);

String location = list.get(position).toString().trim();
				Intent intent = new Intent();
				Bundle bundle = new Bundle();
				bundle.putString("MSG", location);
				intent.putExtras(bundle);
				SelectPoint.this.setResult(request, intent);//request是起始页传过来的,用于返回区分
				SelectPoint.this.finish();




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值