【从头学android】从新的Activity中返回数据给前一个Activity
16lz
2022-07-27
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. */@Overridepublic void onCreate( Bundle savedInstanceState ){super.onCreate( savedInstanceState );// 缓存View1v1 = getLayoutInflater().inflate( R.layout.p61, null );b1 = (Button) v1.findViewById( R.id.button1 );tv1 =(TextView)v1.findViewById( R.id.textView1 );b1.setOnClickListener( new OnClickListener() {@Overridepublic 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() {@Overridepublic void onClick( View v ){Intent in = new Intent();in.putExtra( "text", tv1.getText() );in.setClassName( getApplicationContext(), "com.itest.ITestP7Activity" );startActivityForResult( in, 0 );}} );// 切换到v1setContentView( v1 );}/* * (non-Javadoc) * @see android.app.Activity#onActivityResult(int, int, android.content.Intent) */@Overrideprotected 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. */@Overridepublic void onCreate( Bundle savedInstanceState ){super.onCreate( savedInstanceState );// 缓存View1v1 = getLayoutInflater().inflate( R.layout.p71, null );// 动态修改v1中内容b1 = (Button) v1.findViewById( R.id.button1 );b1.setOnClickListener( new OnClickListener() {@Overridepublic 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" ) );// 切换到v1setContentView( v1 );}}
通过setResult和onActivityResult方法可以将结果返回给前一个activity,并进行一定的处理。
更多相关文章
- android Dialog大小修改
- 从 Android(安卓)Sample ApiDemos 中学习 android.animation API
- Android内容提供者源码
- android源码下载方式
- 修改android系统和watchdog的延时
- android 单元测试
- Android异步加载图像小结 (含线程池,缓存方法)
- Android(安卓)屏幕设置
- 【安卓笔记】android客户端与服务端交互的三种方式