日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]在Activity傳送復雜數(shù)據(jù)時,(這里用ArrayList首先建立兩個javabean,一個實現(xiàn)Serializable接口,一個實現(xiàn)Parcelable接口:package?org.example

在Activity傳送復雜數(shù)據(jù)時,(這里用ArrayList

首先建立兩個javabean,一個實現(xiàn)Serializable接口,一個實現(xiàn)Parcelable接口:


package?org.example.passdata;

import?java.io.Serializable;

public?class?Student?implements?Serializable?{

????private?static?final?long?serialVersionUID?=?6130446011020753806L;

????private?String?id;

????private?String?name;

????public?Student(String?id,?String?name)?{
????????this.id?=?id;
????????this.name?=?name;
????}

????public?String?getId()?{
????????return?this.id;
????}

????public?void?setId(String?id)?{
????????this.id?=?id;
????}

????public?String?getName()?{
????????return?this.name;
????}

????public?void?setName(String?name)?{
????????this.name?=?name;
????}

????@Override
????public?String?toString()?{
????????return?"id:"?+?this.id?+?"?name:"?+?this.name;
????}
}



package?org.example.passdata;

import?android.os.Parcel;
import?android.os.Parcelable;

public?class?Teacher?implements?Parcelable?{

????private?String?id;

????private?String?name;

????public?Teacher(String?id,?String?name)?{
????????this.id?=?id;
????????this.name?=?name;
????}

????public?String?getId()?{
????????return?this.id;
????}

????public?void?setId(String?id)?{
????????this.id?=?id;
????}

????public?String?getName()?{
????????return?this.name;
????}

????public?void?setName(String?name)?{
????????this.name?=?name;
????}

????@Override
????public?int?describeContents()?{
????????return?0;
????}

????@Override
????public?void?writeToParcel(Parcel?dest,?int?flags)?{
????????dest.writeString(id);
????????dest.writeString(name);
????}

????@Override
????public?String?toString()?{
????????return?"id:"?+?this.id?+?"?name:"?+?this.name;
????}

????public?static?final?Parcelable.CreatorCREATOR?=?new?Parcelable.Creator()?{

????????@Override
????????public?Teacher?createFromParcel(Parcel?source)?{
????????????Teacher?teacher?=?new?Teacher(source.readString(),?source.readString());
????????????return?teacher;
????????}

????????@Override
????????public?Teacher[]?newArray(int?size)?{
????????????return?null;
????????}
????};

}


然后在MainActrivity中發(fā)送數(shù)據(jù):


package?org.example.passdata;

import?java.util.ArrayList;

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?PassDataActivity?extends?Activity?implements?OnClickListener?{

????private?Button?normalBtn,?serializableBtn,?parcelBtn;

????@Override
????public?void?onCreate(Bundle?savedInstanceState)?{
????????super.onCreate(savedInstanceState);
????????setContentView(R.layout.main);

????????normalBtn?=?(Button)?findViewById(R.id.normalbtn);
????????serializableBtn?=?(Button)?findViewById(R.id.serializablebtn);
????????parcelBtn?=?(Button)?findViewById(R.id.parcelbtn);

????????normalBtn.setOnClickListener(this);
????????serializableBtn.setOnClickListener(this);
????????parcelBtn.setOnClickListener(this);
????}

????@Override
????public?void?onClick(View?v)?{
????????if?(v.getId()?==?normalBtn.getId())?{
????????????//?普通傳送
????????}?else?if?(v.getId()?==?serializableBtn.getId())?{
????????????//?Serializable序列化傳送
????????????ArrayListlist?=?new?ArrayList();
????????????Student?student?=?new?Student("001",?"naki");
????????????list.add(student);
????????????Intent?intent?=?new?Intent(this,?SecondActivity.class);
????????????intent.putExtra("STUDENT_INFO",?list);
????????????startActivity(intent);
????????}?else?if?(v.getId()?==?parcelBtn.getId())?{
????????????//?parcel序列化傳送
????????????ArrayListlist?=?new?ArrayList();
????????????Teacher?teacher1?=?new?Teacher("001",?"techaer1");
????????????list.add(teacher1);
????????????Intent?intent?=?new?Intent(this,?SecondActivity.class);
????????????intent.putExtra("TEACHER_INFO",?list);
????????????startActivity(intent);
????????}

????}

}


在接收的Activity中接收數(shù)據(jù):


package?org.example.passdata;

import?java.util.ArrayList;

import?android.app.Activity;
import?android.content.Intent;
import?android.os.Bundle;
import?android.widget.TextView;

public?class?SecondActivity?extends?Activity?{

????@Override
????protected?void?onCreate(Bundle?savedInstanceState)?{
????????super.onCreate(savedInstanceState);

????????Intent?intent?=?getIntent();
????????//?serializable
????????//?ArrayListlist?=?(ArrayList)?intent.getSerializableExtra("STUDENT_INFO");
????????//?TextView?textView?=?new?TextView(this);
????????//?textView.setText(list.get(0).toString());
????????//?setContentView(textView);

????????//?parcelble
????????ArrayListlist?=?intent.getParcelableArrayListExtra("TEACHER_INFO");
????????TextView?textView?=?new?TextView(this);
????????textView.setText(list.get(0).toString());
????????setContentView(textView);
????}
}


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉