android之Intent复杂数据的传递(ArrayList<Object>类型的数据)

来源:互联网 发布:阿里云企业邮箱怎么用 编辑:程序博客网 时间:2024/05/17 04:26

三、传递ArrayList<Object>

传递ArrayList<Object>的方法

1)首先在新建的项目工程里建立一个实现了Serializable接口的PersonInfo实体类,然后在其中添加若干属性并生成相应的setget方法,具体代码如下:

package zjh.android.bean; import java.io.Serializable; @SuppressWarnings("serial")public class PersonInfo implements Serializable {private String name;private String address;private int age;public PersonInfo(){};public PersonInfo(String name,String address,int age){this.name = name;this.address = address;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}

2)新建一个用来发送ArrayList<Object>类型数据的SendActivity类,具体实现如下:

package zjh.android.lx; import java.io.Serializable;import java.util.ArrayList; import zjh.android.bean.PersonInfo;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 SendActivity extends Activity {private Button send;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.activity_send);this.send = (Button)super.findViewById(R.id.send);this.send.setOnClickListener(new OnClickListenerImpl());} private final class OnClickListenerImpl implements OnClickListener{ @Overridepublic void onClick(View v) {ArrayList<PersonInfo> list = new ArrayList<PersonInfo>();PersonInfo personInfo = new PersonInfo("张三","广州",22);list.add(personInfo);Intent intent = new Intent(SendActivity.this,ReceiveActivity.class);Bundle bundle = new Bundle();bundle.putSerializable("personInfo", (Serializable)list);intent.putExtras(bundle);SendActivity.this.startActivity(intent);}}}

3)建立一个用来接收ArrayList<Object>类型数据的ReceiveActivity类,代码如下:

package zjh.android.lx; import java.util.ArrayList; import zjh.android.bean.PersonInfo;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.TextView; public class ReceiveActivity extends Activity {private TextView msg; @SuppressWarnings("unchecked")@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.receive);this.msg = (TextView) super.findViewById(R.id.msg);Intent intent = super.getIntent();ArrayList<PersonInfo> list = (ArrayList<PersonInfo>) intent.getSerializableExtra("personInfo");this.msg.setText("name=" + list.get(0).getName() + "\n" + "address="+ list.get(0).getAddress() + "\n" + "age="+ list.get(0).getAge());} }

  4)在AndroidManifest.xml文件中添加如下activity

<activity android:name="zjh.android.lx.ReceiveActivity"/>

此时,通过Intent传递ArrayList<Object>类型的数据就实现了。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果6手机掌阅怎么办 厨房墙砖颜色深怎么办 炉石传说被盗号怎么办 炉石传说号忘了怎么办 手机丢失了微信怎么办 眼睛疼红血丝多怎么办 lol更新速度3kb怎么办 苹果6s玩游戏卡怎么办 微博手机号换了怎么办 微博字数超了怎么办 海外玩传奇很卡怎么办 再审期限超6个月怎么办 肠粉蒸出来太粘怎么办 微信订阅号没了怎么办 映美620k不进纸怎么办 属虎的带了貔貅怎么办 属龙的不能带金怎么办 这段时间运气不好怎么办 两年运气特别差怎么办 玩手机麻将老输怎么办 打四川麻将老输怎么办 网上打麻将老输怎么办 手机打麻将老输怎么办 近来打麻将老输怎么办 最近手气不好老输钱怎么办 头被风吹了头痛怎么办 打麻将老输怎么办转运 外出时家里的花怎么办 放假了家里的花怎么办 老是怀疑老婆有外遇怎么办 老婆出轨我该怎么办呢 老公爱爱时间短怎么办 老婆离家出走了怎么办离婚呢 4g网络变成h了怎么办 打麻药伤到神经怎么办 40多岁乳房下垂怎么办 手冻了怎么办 小妙招 脸过敏好了还红怎么办 脸过过敏红肿痒怎么办 腰间盘突出压迫神经腿麻怎么办 腰椎盘突出脚麻怎么办