Activity中Intent传递数据--Bundle

<span style="font-size:18px;">///////////mainAvtivity//////////////</span>
<span style="font-size:18px;">package com.demo.clf;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends Activity {

	private EditText et_name1;
	private EditText et_name2;
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		et_name1 = (EditText) findViewById(R.id.name1);
		et_name2 = (EditText) findViewById(R.id.name2);
	}

	public void click(View v){
		String name1 = et_name1.getText().toString();
		String name2 = et_name2.getText().toString();

		Intent intent = new Intent(this, SecondActivity.class);
//		intent.putExtra("name1", name1);
//		intent.putExtra("name2", name2);

		<span style="color:#ff0000;">//用bundle对象存储数据
		Bundle extras = new Bundle();
		extras.putString("name1", name1);
		extras.putString("name2", name2);
		intent.putExtras(extras);
		startActivity(intent);</span>
	}

}
</span>
<span style="font-size:18px;">/////////////////////secondActivity/////////////////////////////</span>
<pre name="code" class="java">public class SecondActivity extends Activity {

	private TextView tv_name1;
	private TextView tv_name2;
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_second);

		tv_name1 = (TextView) findViewById(R.id.name1);
		tv_name2 = (TextView) findViewById(R.id.name2);

		Intent intent = getIntent();
//		String name1 = intent.getStringExtra("name1");
//		String name2 = intent.getStringExtra("name2");

		//获取bundle对象
		Bundle bundle = intent.getExtras();
		String name1 = bundle.getString("name1");
		String name2 = bundle.getString("name2");

		tv_name1.setText(name1);
		tv_name2.setText(name2);

	}
}


<span style="font-size:18px;">//////////////////////xml需要注册secondActivity///////////////////</span>
<span style="font-size:18px;"><activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        
       <span style="color:#cc0000;"> <activity
            android:name=".SecondActivity"
            android:label="SecondActivity" >
            <intent-filter>
                <action android:name="com.meldoy.demo" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter></span>
        </activity>
</span>

时间: 2024-09-29 00:36:52

Activity中Intent传递数据--Bundle的相关文章

Android高手之路之Android中Intent传递对象的两种方法Serializable,Parcelable

注:本文改编自Android_Tutor的文章,原文地址:http://blog.csdn.net/android_tutor/article/details/5740845 Android中的传递有两个方法,一个是Serializable,另一个是Parcelable. Serializable是J2SE本身就支持的.而Parcelable是Android所特有的. 二者的使用场景和区别: 1)在使用内存的时候,Parcelable比Serializable性能高,所以推荐使用Parcelab

Android学习之Intent传递数据

Intent在Activity中的作用主要是有两个: 1.启动目标Activity 2.传递数据 Intent在传递数据时分两种情况:向下一个Activity传递数据和从下一个Activity返回数据. 一.向下一个Activity传递数据主要是利用Intent作为“信使”来调用, 原Activity需要创建一个intent,并用putExtra(键,值)方法向intent中放入需要传递的信息,然后启动. public void onClick(View view){ String msg =

Android Studio开发基础之启动Service,并通过从Activity向Service传递数据

本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Service,并敲如下代码: package com.example.lhb.startservice; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.view.ViewDebug; import android.widget.Toast; public

activity与fragment传递数据

activity之间的数据交换,只要Intent intent = new Intent(getContext , 将要跳转的Activity的class) ; intent.setStringExtra("tag",value) ; 在另一个activity 中 Intent intent = getIntent() ; intent.getStringExtra("tag") ; 而 activity 与 fragment 交换数据则要: activity里 B

Android中Intent传递Java对象的方法

Android中Intent传递Java对象有两种方法:一是通过调用Bundle对象的putSerializable(Key,Object)方法[参见示例],另一种是通过调用Bundle对象的putParcelable(Key,Object)方法[参见示例]. 第一种方法要求传递的Java对象实现Serializable接口--Serializable接口是JavaSE特有的接口,采用该种方法实现类的序列化非常简单,声明一下系统会自动将其序列化. 第二种方法要求传递的Java对象实现了Parce

Android 开发中使用Intent传递数据的方法

Activity之间通过Intent传递值,支持基本数据类型和String对象及它们的数组对象byte.byte[].char.char[].boolean.boolean[].short.short[].int.int[].long.long[].float.float[].double.double[].String.String[],还有采用实现Serializable.Parcelable接口的类对象传递数据的两种方法:一种是Bundle.putSerializable(Key,Obje

【转】Android中intent传递对象和Bundle的用法

原文网址:http://blog.csdn.net/lixiang0522/article/details/8642202 android中的组件间传递的对象一般实现Parcelable接口,当然也可以使用java的Serializable接口,前者是android专门设计的,效率更高,下面我们就来实现一个Parcelabel. 1. 创建一个类实现Parcelable接口,具体实现如下: [java] view plain copy package com.hebaijun.testparce

Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!

[转][原文] 大家好,好久不见,今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,为了让大家更容易理解我还是照常写了一个简单的Demo,大家就一步一步跟我来吧! 第一步:新建一个andr

Android笔记——Activity中的回传数据案例(装备选择)

1.创建程序: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:conte