展会信息港展会大全

android开发中Activity两个启动方法的区别
来源:互联网   发布日期:2016-01-14 10:22:31   浏览:2088次  

导读:假设有俩个布局界面,第一个是要获取信息Info的定义为MainActivity,第二个是提供需要的信息的定义为SecondActivity,信息格式定义为Info(1)用startActivity(Intent intent)函数启动 用这种方式启动, ...

假设有俩个布局界面,第一个是要获取信息Info的定义为MainActivity,第二个是提供需要的信息的定义为SecondActivity,信息格式定义为Info

(1)用startActivity(Intent intent)函数启动

用这种方式启动,需把SecondActivity设置为程序的入口布局界面,输入信息后用下面代码把信息传递到 MainActivity,然后SecondActivity关闭;

Info info =new Info(name.getText().toString(),age.getText().toString());

String key1 = new String("info");

String key2 = new String("people");

Bundle data = new Bundle();

data.putSerializable(key2, info);

data.putSerializable(key1, info);

Intent intent = new Intent(SecondActivity.this,MainActivity.class);

intent.putExtras(data);

startActivity(intent);finish();

MainActivity启动后,用下面的代码获取信息并显示

Intent intent = getIntent();

Bundle data = intent.getExtras();

Info info =(Info)data.getSerializable("people");

name.setText(info.getName());

age.setText(info.getAge());

需要指明是,Info必须实现Serializable接口才可以序列化,Info不需要实现任何Serializable接口方法,只需要声明实现接口,就可以进行序列化;data.putSerializable可以把多个序列化的元素插入到data中,他们用key区分。

(2)用startActivityForResult(int requestCode,int resultCode,Intent intent)函数启动

用这种方式启动,需把MainActivity设置为程序的入口布局界面,需要时(如按钮)用下面代码启动 SecondActivity,SecondActivity在关闭时返回数据:

commit.setOnClickListener(new OnClickListener()

{

@Override

public void onClick(View source)

{

Intent intent = new Intent(MainActivity.this,SecondActivity.class);

startActivityForResult(intent,0);

}

});

SecondActivity启动后,用下面的代码获取信息返回给MainActivity

Info info =new Info(name.getText().toString(),age.getText().toString());

String key = new String("info");

Bundle data = new Bundle();

data.putSerializable(key, info);

Intent intent = getIntent();//Intent intentx = new Intent();也可以

intent.putExtras(data);

SecondActivity.this.setResult(0, intent);

SecondActivity.this.finish();

这里留一个疑问,两个布局之间的requestCode是怎么传递和识别的?

赞助本站

人工智能实验室

相关热词: 启动方法 Activity android

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港