android开发之activity

这几天接触的关于activity的内容比较多.

慢慢的有了一定的理解.

也不知道自己想的是不是对的.如果以后发现有偏差再来修改吧.

简单的理解就是一个activity就是一个界面.

像打开手机qq,登陆页面是一个界面,一个activity.

输入账号密码点击登录就会跳转到会话界面,另一个activity.

怎么去实现activity的跳转?

这里就要用到intent类.

	Intent intent = new Intent(this, MainActivity.class); //第一个参数是上下文,第二个参数为要跳转到的activity
	startActivity(intent);				//如果跳转之后要销毁之前的activity就要加上一句 finish();
这个是跳转activity的简单实现

当然,还有复杂点的用法.

比如说,跳转之后还要传一些参数给下一个activity,就像qq登录界面会传qq号码密码给下一个界面

这里就要用到intent的方法了

Intent intent=new Intent(MainActivity.this,RegisterActivity.class);
Bundle bundle=new Bundle();	//创建并实例化一个Bundle对象
bundle.putCharSequence("user", user);	//保存用户名
bundle.putCharSequence("pwd", pwd);	//保存密码
bundle.putCharSequence("email", email);	//保存E-mail地址
intent.putExtras(bundle);	//将Bundle对象添加到Intent对象中
startActivityForResult(intent, CODE);	//启动新的Activity
这里用了打包的方法将数据放入bundle,然后再将bundle放入intent.

简单点的话还可以直接将数据放入intent.
新的activity怎么收取数据呢?

当然也是在intent里收了

final Intent intent=getIntent();	//获取Intent对象
Bundle bundle=intent.getExtras();	//获取传递的数据包
现在bundle里面就有了传过来的数据,用bundle调用getString(key)之类的方法得到数据

好了,现在可以给下一个activity传数据了.那反过来能不能由后面一个activity返回时向前一个activity传数据呢?

答案是肯定的,这里还是用到intent(ps:intent真是神通广大)

当然要做到能回传数据,就需要用到

startActivityForResult(intent, CODE);	//启动新的Activity
这个方法,从字面上理解也比较容易,就是会得到结果

在下一个activity里面设置加上

setResult(0x717,intent);        //传一个intent回去,可以是new的,也可以是上一个activity传过来的                

前一个activity怎么收取呢?

答案是在里面重写onActivityResult()

	@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("");	//清空确认密码编辑框
		}
	}
    
当然intent里面也可以带有数据,用get方法拿到.

暂时就总结这么点吧.以后有新的想法就随时更新啦.




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值