您的位置:首页 > 移动开发 > Objective-C

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

2014-07-22 18:42 656 查看

三、传递ArrayList<Object>

传递ArrayList<Object>的方法

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

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;
@Override
protected 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{

@Override
public 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")
@Override
protected 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>类型的数据就实现了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐