Android学习笔记(八)

Activity之间的数据传递

1.发送端Activity

onCreate()方法中:
@Override
public void onClick(View v) {
   String pwd=((EditText)findViewById(R.id.pwd)).getText().toString();	//获取输入的密码
   String repwd=((EditText)findViewById(R.id.repwd)).getText().toString();	//获取输入的确认密码
   if(!"".equals(pwd)){
	    if(!pwd.equals(repwd)){	//判断两次输入的密码是否一致
			   ((EditText)findViewById(R.id.pwd)).setText("");	//清空密码编辑框
			   ((EditText)findViewById(R.id.pwd)).requestFocus();	//让密码编辑框获得焦点
	     }
	    else{	//将输入的信息保存到Bundle中,并启动一个新的Activity显示输入的用户注册信息
				  Intent intent=new Intent(MainActivity.this,RegisterActivity.class);
				  Bundle bundle=new Bundle();	//创建并实例化一个Bundle对象
			  	bundle.putCharSequence("pwd", pwd);	//保存密码
				  intent.putExtras(bundle);	//将Bundle对象添加到Intent对象中
				  startActivityForResult(intent, CODE);	//启动新的Activity
		  }
	 }
				
}

类中定义一个请求码常量CODE:
final public int CODE= 0x717;	//定义一个请求码常量

类中定义方法返回结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	if(requestCode==CODE && resultCode==CODE){
	   ((EditText)findViewById(R.id.pwd)).setText("");	//清空密码编辑框
	   ((EditText)findViewById(R.id.repwd)).setText("");	//清空确认密码编辑框
	}
}

2.接收端Activity

onCreate()方法中:
final Intent intent=getIntent();	//获取Intent对象
Bundle bundle=intent.getExtras();	//获取传递的数据包
TextView pwd=(TextView)findViewById(R.id.pwd);		//获取显示密码的TextView组件
pwd.setText("密码:"+bundle.getString("pwd"));		//获取输入的密码并显示到TextView组件中
Button button=(Button)findViewById(R.id.back);	//获取“返回上一步”按钮
button.setOnClickListener(new OnClickListener() {
		@Override
		public void onClick(View v) {
			setResult(0x717,intent);	//设置返回的结果码,并返回调用该Activity的Activity
			finish();		//关闭当前Activity
				
		}
});






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值