展会信息港展会大全

Android中使用Intent传递对象
来源:互联网   发布日期:2016-01-14 09:44:43   浏览:1403次  

导读:Intent 也可以传递对象的,例子如下: MyParcelable.java 文件: Java代码 package com.ldq.parcelable; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnCli...

Intent 也可以传递对象的,例子如下:

MyParcelable.java 文件:

Java代码

package com.ldq.parcelable;

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 MyParcelable extends Activity {

private Button button;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

button = (Button) findViewById(R.id.button1);

button.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

Student student = new Student();

student._id = 1001;

student.name = "zhang";

student.sex = 1;

student.age = 10;

Intent intent = new Intent(MyParcelable.this,

AnotherActivity.class);

intent.putExtra("student", student);

startActivity(intent);

}

});

}

}

Student.java 文件:

Java代码

package com.ldq.parcelable;

import android.os.Parcel;

import android.os.Parcelable;

public class Student implements Parcelable {

public int _id;

public String name;

public int sex;

public int age;

Student(Parcel p) {

_id = p.readInt();

name = p.readString();

sex = p.readInt();

age = p.readInt();

}

Student() {

};

public static final Parcelable.Creator<Student> CREATOR = new Parcelable.Creator<Student>() {

public Student createFromParcel(Parcel p) {

return new Student(p);

}

public Student[] newArray(int size) {

return new Student[size];

}

};

public int describeContents() {

return 0;

}

public void writeToParcel(Parcel p, int flags) {

p.writeInt(_id);

p.writeString(name);

p.writeInt(sex);

p.writeInt(age);

}

}

AnotherActivity.java 文件:

Java代码

package com.ldq.parcelable;

import android.app.Activity;

import android.os.Bundle;

import android.widget.TextView;

public class AnotherActivity extends Activity {

private TextView textView;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main1);

Student s = getIntent().getParcelableExtra("student");

textView = (TextView) findViewById(R.id.textView1);

textView.setText("name:" + s.name + ",age:" + s.age);

}

}

AndroidManifest.xml 文件:

Xml代码

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.ldq.parcelable" android:versionCode="1"

android:versionName="1.0">

<uses-sdk android:minSdkVersion="8" />

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".MyParcelable" android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

<activity android:name=".AnotherActivity">

</activity>

</application>

</manifest>

main.xml 文件:

Xml代码

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical" android:layout_width="fill_parent"

android:layout_height="fill_parent">

<Button android:text="Button" android:id="@+id/button1"

android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

</LinearLayout>

main1.xml 文件:

Xml代码

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical" android:layout_width="fill_parent"

android:layout_height="fill_parent">

<TextView android:text="TextView" android:id="@+id/textView1"

android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>

</LinearLayout>

作者“leidiqiu”

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

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