Android学习笔记<四> ——回传值

启动一个Activity后怎么能拿到一个结果?

       用 StartActivityForResult() 来替换 StartActivity() 。


1、MainActivity页面  传递表达式  " _  + _  = ? ":

		button.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Intent intent = new Intent(MainActivity.this, Activity2.class);
				String a = editText1.getText().toString().trim(); //getText()<span style="color: rgb(51, 51, 51); font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px; text-indent: 28px;">返回数据窗口控件中 悬浮在当前行列之上的编辑框中的文本</span>
				String b = editText2.getText().toString().trim();
				intent.putExtra("message", a + "+" + b + "=" + "?");//intent.putExtra(name, value); intent发出(传递)名为message的数据
				startActivityForResult(intent, 1000);//其中1000是程序员设置的请求码(requestCode)
			}
		});
2、 Activity2 页面接收 显示表达式:

		setContentView(R.layout.activity2);	
		textView = (TextView)findViewById(R.id.textView1);
		Intent intent = getIntent();
		String message2 = intent.getStringExtra("message"); //intent 检索(提取)名为message的字符串
		textView.setText(message2); // xxx.setText()表示将对象xxx上的文字设置为括号内引用的内容

3、 Activity2 点击按钮后回传editText 的值并终结Activity2

			public void onClick(View v) {
				// TODO Auto-generated method stub
				String value = editText.getText().toString().trim();
				Intent intent = new Intent();
				intent.putExtra("result", value);//intent发出名为result的内容(值)value
				//设置回传意图
				setResult(1001,intent);//其中1001是程序员设置的resultCode
				finish(); //结束Activity的生命活动周期
			}


4、 在类MainActivity中override(覆盖并重写)方法onActivityResult()

	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO Auto-generated method stub
		super.onActivityResult(requestCode, resultCode, data);
		if (requestCode == 1000 && resultCode == 1001) {
			String result_value = data.getStringExtra("result");
			editText3.setText(result_value);
		}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值