怒了,两个activity之间传递list间就没有办法传递自定义类吗

Activity之间的通信与自定义Action -
- ITeye技术网站
博客分类:
Activity之间的通信
Activity 之间的通信是通过Intent实现的
1.由activity A 到B -- 调用同一个应用下的activity
a.普通方式
流程:创建一个Intent实例 ,通过Intent指定从哪个Activity到哪个Activity,然后 A实例对象.startActivity(Intent实例)
Intent intent = new Intent(A.this,B.class);
你也可以传参数到目标Activity
intent.putExtra("key",value);----有个中重载,如果你要传的值是自己定义的类对象,那么这个类必须实现
java.io.Serializable 接口
A的实例对象.startActivity(intent);
b.启动带返回值的Activity
既然能从A传参数到B,肯定也能从B返回数据给A
流程: 创建一个Intent实例,然后A的实例对象.startActivityForResult(Intent实例,int类型的请求标示);
重写A类的onActivityResult(int requestCode, int resultCode, Intent data) ;
注意:int类型的请求标示必须是唯一的,通常情况下 我们使用布局文件的int表示方式作为请求标示
//启动 带返回值的activity
Intent intent
= new Intent(A.this,B.class);
A的实例对象.startActivityForResult(intent, R.layout.main);
//在B类中 指定返回值
Intent intent=B的实例对象.getIntent().putExtra("key","hello");
B的实例对象.setResult(20,intent);
//重写A类的onActivityResult(int requestCode, int resultCode, Intent data)
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case R.layout.main:
if(requestCode==20)
String resultStr= data.getStringExtra("key");
变量resultStr 就是返回值 为
2.调用不同应用程序的Activity
创建Intent实例时 有很多重载
public Intent(Context packageContext,Class&?& cls); --- 上面已经使用了
Intent(String action);
public Intent(String action,Uri uri);
调用其他应用程序的Activity 就是通过后两种构造实现的 (通过Action 的方式);
a.调用系统的应用程序
android 系统自带很多功能的应用,像打电话,浏览网页,发送Email等。。
eg: 打电话
Intent intent = new (Intent.Action_CALL,Uri.parse("tel:"+电话号码));
startActivity(intent);
b.己的Activity Action
供别的应用调用
流程:在AndroidManifest.xml 中的被调用的Activity的节点下定义Action ,在调用方使用Intent(String action) 构造调用
注意:两个Activity 可以 属于不同的应用
AndroidManifest.xml 中定义 Action
&activity android:name=".Main"
android:label="@string/app_name"&
&intent-filter&
&action android:name="com.myaction"/&
&/intent-filter&
&/activity&
调用方调用
Intent intent = new
Intent("com.myaction");
startActivity(intent);
c.用需要传参的其他应用的Activity
由第三种构造( public Intent(String action,Uri uri);)
可以了解我们可以通过Uri对象给被调用的Activity传递参数
分析Uri的格式("tel:")可以发现Uri需要一个头 ("tel"); 这个头在你自定义action 的时候需要自己定义
这个头也是在Androidmanifest.xml 中定义
流程:在AndroidManifest.xml 中的被调用的Activity的节点下定义Action 和Uri头,在调用方使用
Intent(String action,Uri uri);构造调用
在AndroidManifest.xml 中定义Action
&activity android:name=".Main"
android:label="@string/app_name"&
&intent-filter&
&action android:name="com.myaction"/&
&!--Uri头--&
&data android:scheme="myscheme"&&/data&
&/intent-filter&
&/activity&
在调用方调用
= Uri.parse("myscheme://哈哈哈");
intent = new
Intent("com.myaction",uri);
startActivity(intent);
在被调用方的到传过来的参数
Uri uri = getIntent().getData();
String str= uri.getHost();
str变量得到的值就是“哈哈哈”
浏览: 217407 次
来自: 北京
多谢楼主分享
我用自定义Action为什么每次调用Activity时都提示找 ...
你好!请问你的这个项目里面是否使用sqlite3数据库。
在activity中引入Fragment的xml方式确信能在低 ...Android中自定义数据类型在两个activity间的传递
Android中自定义数据类型在两个activity间的传递
  作为Android开发者大家都知道两个activity之间的跳转及数据的传递是通过intent和bundle来实现,在intent下有挺多方法来协助我们实现连个activity间的交互,但有时我们需要传递的不单单只是一个简单的数据类型,而是我们自己封转的数据对象,二进制对象,那我们改如何实现呢?
  要实现它,我们有两个方法,都是去实现android里的接口,他们分别是serialiable和Parcelabel,对于serialable的实现方式比较简单,只需在我们的数据类实现它,并在activity下通过bundle的协助,使用putserialableExtras将对象存放在bundle中,而对于Parcelable我需要重新实现它下面的creator对象,之后通过intent进行传递。
  下面是实现这两种方法的代码:
  (1)Serialable
package&.&&
import&java.io.S&&
publicclass&Person&implements&Serializable{&&
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
职称考试题目
招生信息考研政治
网络安全安全设置工具使用手机安全
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&android_activity之间传递数据
android_activity之间传递数据
发布时间: 15:28:31
编辑:www.fx114.net
本篇文章主要介绍了"android_activity之间传递数据",主要涉及到android_activity之间传递数据方面的内容,对于android_activity之间传递数据感兴趣的同学可以参考一下。
方法很多,比如:
1、Intent传递(只能传送可序列化的数据和对象);
2、静态变量;
3、全局变量(在自定义的application中定义的变量);
4、剪贴板(只能传递字符串);
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:

我要回帖

更多关于 activity之间传递对象 的文章

 

随机推荐