1.起始Activity
/**
*
*/
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;
/**
* 从新的 Activity中返回数据
* @author Robin
*/
public class ITestP6Activity extends Activity {
Button b1;
Button b2;
View v1;
TextView tv1;
/** Called when the activity is first created. */
@Override
public void onCreate( Bundle savedInstanceState )
{
super.onCreate( savedInstanceState );
// 缓存View1
v1 = getLayoutInflater().inflate( R.layout.p61, null );
b1 = (Button) v1.findViewById( R.id.button1 );
tv1 =(TextView)v1.findViewById( R.id.textView1 );
b1.setOnClickListener( new OnClickListener() {
@Override
public void onClick( View v )
{
tv1.setText( System.currentTimeMillis() + "" );
// TODO Auto-generated method stub
}
} );
// 动态修改v1中内容
b2 = (Button) v1.findViewById( R.id.button2 );
b2.setOnClickListener( new OnClickListener() {
@Override
public void onClick( View v )
{
Intent in = new Intent();
in.putExtra( "text", tv1.getText() );
in.setClassName( getApplicationContext(), "com.itest.ITestP7Activity" );
startActivityForResult( in, 0 );
}
} );
// 切换到v1
setContentView( v1 );
}
/*
* (non-Javadoc)
* @see android.app.Activity#onActivityResult(int, int, android.content.Intent)
*/
@Override
protected void onActivityResult( int requestCode, int resultCode, Intent data )
{
switch ( resultCode ) {
case RESULT_OK :
System.out.println(data.getExtras().getString( "result" ));
tv1.setText( data.getExtras().getString( "result" ));
break;
default :
break;
}
}
}
2.新的Activity
/**
*
*/
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 ITestP7Activity extends Activity {
Button b1;
View v1;
TextView tv1;
/** Called when the activity is first created. */
@Override
public void onCreate( Bundle savedInstanceState )
{
super.onCreate( savedInstanceState );
// 缓存View1
v1 = getLayoutInflater().inflate( R.layout.p71, null );
// 动态修改v1中内容
b1 = (Button) v1.findViewById( R.id.button1 );
b1.setOnClickListener( new OnClickListener() {
@Override
public void onClick( View v )
{
Intent in = new Intent();
in.putExtra( "result", "res" );
setResult( RESULT_OK, in );
finish();
}
} );
tv1 = (TextView) v1.findViewById( R.id.textView1 );
tv1.setText( "@" + getIntent().getExtras().getCharSequence( "text" ) );
// 切换到v1
setContentView( v1 );
}
}
通过setResult和onActivityResult方法可以将结果返回给前一个activity,并进行一定的处理。