Android 数据传递-通过Intent传递数据

  Ø我们可以通过Intent类中的putExtra方法可以将简单的数据类型和序列化对象保存到Intent对    象中,然后在目标的Activity中使用getXxx方法取出对应的数据。

 
Ø案例一
package com.android.myintent;

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

public class Main extends Activity {
	/** Called when the activity is first created. */
	private Button button;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);// 加载布局文件
		button = (Button) this.findViewById(R.id.button);//
		button.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Intent intent = new Intent();
				// 在意图中传递数据
				intent.putExtra("name", "张三");
				intent.putExtra("age", 23);
				intent.putExtra("address", "北京");

				intent.setClass(Main.this, OtherActivity.class);

				// 启动意图
				startActivity(intent);
			}
		});
	}
}
package com.android.myintent;

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

public class OtherActivity extends Activity {

	private TextView textView;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.other);
		textView = (TextView) this.findViewById(R.id.msg);

		Intent intent = getIntent();
		int age = intent.getIntExtra("age", 0);
		String name = intent.getStringExtra("name");
		String address = intent.getStringExtra("address");

		textView.setText("age--->>" + age + "\n" + "name-->>" + name + "\n"
				+ "address->>" + address);
	}
}

相关推荐