为了账号安全,请及时绑定邮箱和手机立即绑定

有返回值的方法,第二个页面返回值在第一个页面中显示不出来,为什么?我看了前面的问答,都不是那些错误。

第一个页面中初始化后的代码
onCreate函数里面的代码
bt2.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				/*
				 * 初始化一个intent
				 * 第一个参数packageContext代表上下文对象
				 * 		this代表当前MainActivity的上下文对象
				 * 		MainActivity.this
				 * 		或者首先声明一个全局变量 private Context mConte ,然后幅值 mConte = this , 然后参数写为 mConte
				 * 第二的参数cls代表目标文件,将要跳转到的页面
				 */
				Intent intent2 = new Intent(MainActivity.this, SecondActivity.class);
				/*
				 * 使用函数startActivityForResult来执行意图inten2,会得到一个返回值
				 * 		第一个参数intent:代表将要执行的意图intent2
				 * 		第二个参数requestCode:代表请求的一个标识
				 */
				startActivityForResult(intent2, 1);
				/*
				 * 通过startActivityForResult跳转,onActivityResult函数可以接收返回数据的方法
				 * onActivityResult写在onCreate函数中,就像接口的override一样
				 * 
				 * 
				 */
			}
		});
		
onCreate函数外面的代码
        /*
	 * 通过startActivityForResult跳转,onActivityResult函数可以接收返回数据的方法
	 * 第一个参数requestCode:代表请求的标志,代表某一个特定的请求,比如一个页面上的不同button请求不同的页面
	 * 第二各参数resultCode:将要跳转到的页面的返回的标识
	 * 第三个参数data:代表将要跳转到的页面回传的数据,是一个Intent对象
	 */
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO Auto-generated method stub
		super.onActivityResult(requestCode, resultCode, data);
		if((requestCode == 1 )||(resultCode == 2)){
			String backText = data.getStringExtra("data");
			tv3.setText(backText);
		}
	}
	
第二个页面的代码
package com.imooc.demo3;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class SecondActivity extends Activity{
	private Button bt4;
	private String content = "回传";
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_second);
		/*
		 * 使用第二种启动方式,需要给跳转到这个页面的上一个页面回传数据
		 * 点击一下button就回传数据
		 * 回传到跳转到此页面的上一个页面中,回传的实际是一个Intent对象
		 */
		bt4 = (Button) findViewById(R.id.button4);
		//设置点击事件
		bt4.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				//首先初始化一个Intent对象,不需要实际的跳转,所以new Intent()中不需要将要跳转的页面的参数
				Intent data = new Intent();
				//data.putExtra的第一个参数是key,第二个参数才是value
				data.putExtra("data", content);
				
				/*
				 * 使用函数setResult来回传数据
				 * 第一的参数resultCode:回传码
				 * 第二个参数data:回传的数据
				 */
				setResult(2, data);
				//结束和销毁当前页面,自动返回上一个页面
				finish();
			}
		});
	}



正在回答

4 回答

兄弟你的tv3哪来的

0 回复 有任何疑惑可以回复我~

我看了,代码貌似没什么问题,你其他代码也贴下,还有就是检查下配置启动文件xml

0 回复 有任何疑惑可以回复我~

 if((requestCode == 1 )||(resultCode == 2))

这了不能用||要用&&

0 回复 有任何疑惑可以回复我~
#1

xiaoxiaoimg

这个还好吧,应该不是这个原因导致
2017-10-28 回复 有任何疑惑可以回复我~

我的也没效果,求解

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第一门课(入门篇)
  • 参与学习       312472    人
  • 解答问题       4931    个

想快速掌握Android应用开发基础,选择学习这门课程就对了。

进入课程

有返回值的方法,第二个页面返回值在第一个页面中显示不出来,为什么?我看了前面的问答,都不是那些错误。

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号