【从头学android】在两个Activity中传递参数

来源:互联网 发布:一建培训班哪家好 知乎 编辑:程序博客网 时间:2024/04/29 17:02

1.java

/** *  */package com.itest;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;import android.widget.TextView;/** * @author Robin */public class ITestP3Activity extends Activity {Button b1;Button b2;Button b3;View v1;TextView tv1;/** Called when the activity is first created. */@Overridepublic void onCreate( Bundle savedInstanceState ){super.onCreate( savedInstanceState );//缓存View1v1 = getLayoutInflater().inflate( R.layout.p31, null );//动态修改v1中内容b1 = (Button) v1.findViewById( R.id.button1 );b1.setOnClickListener( new OnClickListener() {@Overridepublic void onClick( View v ){Intent in = new Intent();in.setClassName( getApplicationContext(), "com.itest.ITestP4Activity" );startActivity( in );}} );tv1 = (TextView) v1.findViewById( R.id.textView1 );b2 = (Button) v1.findViewById( R.id.button2 );b2.setOnClickListener( new OnClickListener() {@Overridepublic void onClick( View v ){tv1.setText( System.currentTimeMillis()+"" );// TODO Auto-generated method stub}});b3 = (Button) v1.findViewById( R.id.button3 );b3.setOnClickListener( new OnClickListener() {@Overridepublic void onClick( View v ){Intent in = new Intent();in.setClassName( getApplicationContext(), "com.itest.ITestP5Activity" );Bundle b = new Bundle();b.putCharSequence( "text", tv1.getText() );in.putExtras( b );startActivity( in );}});//切换到v1setContentView( v1 );}}

2.java

/** *  */package com.itest;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;import android.widget.TextView;/** * @author Robin */public class ITestP5Activity extends Activity {Button b1;View v1;TextView tv1;/** Called when the activity is first created. */@Overridepublic void onCreate( Bundle savedInstanceState ){super.onCreate( savedInstanceState );//缓存View1v1 = getLayoutInflater().inflate( R.layout.p41, null );//动态修改v1中内容b1 = (Button) v1.findViewById( R.id.button1 );b1.setOnClickListener( new OnClickListener() {@Overridepublic void onClick( View v ){Intent in = new Intent();in.setClassName( getApplicationContext(), "com.itest.ITestP3Activity" );startActivity( in );}} );tv1 = (TextView) v1.findViewById( R.id.textView1 );tv1.setText( "@"+getIntent().getExtras().getCharSequence( "text" ) );//切换到v1setContentView( v1 );}}

在start之前new一个Bundle,并设置参数,则可以在下一个Activity中通过getIntent().getExtras获取相应的参数