一、在启动一个新的activity的时候可以通过Intent携带数据,通过Intent.putExtra()方法通过键值对的形势装入数据。在新启动的activity中通过               getIntent()方法获取启动activity的Intent,并通过getxxxxExtra()获取传递的数据。

二、如果希望被启动的新activity返回数据,则需要使用startActivityForResult()启动新的activity,方法携带两个参数,第二个为请求码,用于返回时判断是由哪个activity返回的,另一个是Intent.需要重写onActivityResult(int requestCode,int resultCode,Intent data)方法获取返回的数据。在新的activity中通过setResult()方法设置要回传的数据,该方法接收2个参数,第一个为返回码,只能是RESULT_OK和RESULT_CANCELED这两个值,第二个参数是一个携带数据的Intent,

  调用finish()方法可结束当前activity。

  示例代码如下:

  

public class MainActivity extends Activity {
Button btn1;
TextView text1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text1 = (TextView) findViewById(R.id.text1);
btn1 = (Button) findViewById(R.id.button1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String str1 = new String("我爱麦麦妈妈");
Intent intent =new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("dataSend",str1);
startActivityForResult(intent,1);
// startActivity(intent);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == 1){
text1.setText(data.getStringExtra("backString"));
}
}
}
public class SecondActivity extends Activity {
TextView text2;
Button btn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_activity);
Intent intent1 = getIntent();
String getString = intent1.getStringExtra("dataSend");
text2 = (TextView) findViewById(R.id.text2);
text2.setText(getString);
btn2 = (Button) findViewById(R.id.button2);
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intentTemp = new Intent();
intentTemp.putExtra("backString","北极熊爱企鹅");
setResult(1,intentTemp);
finish();
}
});
}
}

启动一个新的activity并携带数据,返回数据给上一个activity的更多相关文章

  1. Shell $?获取函数返回值或者上一个命令的退出状态

    Shell $?获取函数返回值或者上一个命令的退出状态 来自:互联网 时间:2021-01-12 阅读:2 $? 是一个特殊变量,用来获取上一个命令的退出状态,或者上一个函数的返回值. 所谓退出状态, ...

  2. arttemplate模板引擎有假数据返回数据多层内嵌的渲染方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. android webview点击返回键回到上一个html

    android webview点击返回键返回上一个html @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ( ...

  4. mysql中如何更新一个字段的值为它本身的值连接上一个字符串

    CONCAT(str1,str2,...)     返回结果为连接参数产生的字符串. 如有任何一个参数为NULL ,则返回值为 NULL. 或许有一个或多个参数. 如果所有参数均为非二进制字符串,则结 ...

  5. MySql 插入数据返回数据的Id值

    insert into addeditemgroup(addeditemgroupname) value(') ; select @@IDENTITY  as id; 返回最新的Id:

  6. VC启动一个新线程的三种方法

    第一种AfxBeginThread() 用AfxBeginThread()函数来创建一个新线程来执行任务,工作者线程的AfxBeginThread的原型如下: CWinThread* AfxBegin ...

  7. android 学习随笔十五(Activity的生命周期与摧毁时返回数据 )

    1.Activity的生命周期 onCreate:创建时调用 onStart:在屏幕上可见,但是还没有获得焦点 onResume:可见并且获得焦点 onPause:可见,但是失去焦点 onStop:不 ...

  8. 【Android】Intent的使用-返回数据给上一个活动

    第一个Activity  A启动另外一个Activity B,B返回数据给A ============================================================= ...

  9. 【转】Andorid中Intent的使用-返回数据给上一个活动

    第一个Activity  A启动另外一个Activity B,B返回数据给A ============================================================= ...

  10. 【Android】7.0 Intent向下一个活动传递数据、返回数据给上一个活动

    1.0 可以利用Intent吧数据传递给上一个活动,新建一个叫“hellotest01”的项目. 新建活动FirstActivity,勾选“Generate Layout File”和“Launche ...

随机推荐

  1. awk用法小结(作者总结)

    http://www.chinaunix.net/old_jh/24/691456.html http://wenku.baidu.com/view/ebac4fc658f5f61fb736664d. ...

  2. vsftp 用无法登陆的用户名登陆(也叫虚拟用户)并进入到自己的文件夹test

    1.不需要使用到PAM认证也可以,useradd redhat; usermod -s /sbin/nologin redhat; passwd redhat. 2.userlist_deny=NO; ...

  3. JAVA中生成Excel方法

    java 操作 Excel 最常用的就是JXL(java excel api)和POI,今先看下JXL吧.首先可以到 http://www.andykhan.com/jexcelapi/downloa ...

  4. vim中如何替换

    1) 文件内全部替换:   :%s#abc#123#g (如文件内有#,可用/替换,:%s/abc/123/g)   --注:把abc替换成123   (或者: %s/str1/str2/g 用str ...

  5. Codeforces Round #373 (Div. 2) B

    Description Anatoly lives in the university dorm as many other students do. As you know, cockroaches ...

  6. C#和SQl 注入字符串的攻击 和 防止注入字符转的攻击

    --SQl中 --建立ren的数据库,插入一条信息 create database ren go use ren go create table xinxi ( code ) primary key, ...

  7. MUI 微信 和支付宝支付 (前台代码)

    <!-- 校园公告详情界面 用于显示校园公告的详情信息 在校园公告界面点击某一条目后 进入本界面查看详情 --> <!DOCTYPE html> <html> &l ...

  8. 电量检测芯片BQ27510使用心得

    最近接触到一款TI的电量检测芯片BQ27510,网上很少有人提及该芯片如何使用,大部分博文都是搬得BQ27510的datasheet,至于真正使用过的很少,该芯片我个人感觉还是非常强大的,能自动学习你 ...

  9. MySql中使用日期函数获取昨天的数据

    .body-classic{ color:#444; font-family:Georgia, Palatino, 'Palatino Linotype', Times, 'Times New Rom ...

  10. 用PyAIML开发简单的对话机器人

    AIML files are a subset of Extensible Mark-up Language (XML) that can store different text patterns ...