android activity 传参

原创 2016年05月30日 22:34:37

传参

activity传参分为向上传参和向下传参,传参都是通过intent实现

向下传参

由前一个activity传到下一个activity,比如在Activity1中打开Activity2,就是向下传参。传参时在Activity1中放入参数,在Activity2中取出参数

放参数

    Intent intent = new Intent("com.example.intenttest.showparam_action");
    intent.putExtra("name1", "value1");
    intent.addCategory("com.example.intenttest.showparam_category");
    startActivity(intent);

取参数

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.second_layout);
    String value1 = getIntent().getStringExtra("name1");
    Log.i(TAG, "接收到的值:"+value1);
}

向上传参

由后一个activity传到上一个activity,比如在Activity1中打开Activity2,关闭activity时传递参数到Activity1就是向上传参。
具体操作:Activity1调用startActivityForResult(启动activity就是为了结果)启动Activity2,Activity2调用setResult()返回结果,Activity1在onActivityResult获取结果

Activity1启动activity为了结果

    Intent intent2 = new Intent("com.example.intenttest.showparam_action");
    intent2.addCategory("com.example.intenttest.showparam_category");
    startActivityForResult(intent2, REQUEST_CODE);

Activity2设置返回结果

    @Override
    public void onClick(View v) {
        switch(v.getId()){
            case R.id.btn4:
                Intent intent = new Intent();
                intent.putExtra("data_return", "hello mainactivity");
                setResult(RESULT_OK, intent);
                finish();
                break;
            }
    }

Activity1取得结果

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        //super.onActivityResult(requestCode, resultCode, data);
        switch(requestCode){
            case REQUEST_CODE:
                //RESULT_OK
                if(resultCode == RESULT_OK){
                    String value = data.getStringExtra("data_return");
                    Log.i(TAG, "返回值:"+value);
                }
                break;
            default:
                break;

        }
    }
版权声明:本文为博主原创文章,未经博主允许不得转载。

Activity向Fragment中传递参数

Fragment 与 Activity之间传递数据有两种方法,一种是使用setArgument,一种是使用接口回调。下面先学习第一种方法。 (1)使用setArgument方法: 为了便于理解...
  • LK1105010206
  • LK1105010206
  • 2015年10月16日 16:31
  • 2060

关于Activity向Fragment传值的问题

1.场景还原      前几天,由于项目模块中要在一个Activity使用FragmentTabHost嵌入Fragment导航,这就涉及到Activity向Fragment传值的问题,今天就Acti...
  • zhangxing52077
  • zhangxing52077
  • 2017年01月14日 21:17
  • 982

Android之---Activity与Fragment之间的传值问题

Activity与Fragment之间的传值问题
  • u010936731
  • u010936731
  • 2017年01月12日 17:26
  • 1611

Fragment向另一个Fragment进行传值通过Activity来传递在同一个Activity中

今天我们来探讨Fragment向另一个Fragment 进行传值。如何传?网上有说用接口等方法,今天我们用Activity来传递。 首先我们理一下思路。现在我有一个Fragment1    Fragm...
  • meiwan123
  • meiwan123
  • 2016年12月23日 10:51
  • 736

activity向另一个activity中的fragment传值

在学习和项目运用中会用到activity想另一个activity中的fragment传值,在网上看了很多前辈的帖子,自己总结写了个传值方式。举个例子,在一个商场的app中,主界面中嵌套了4fragme...
  • qq_30710615
  • qq_30710615
  • 2016年02月24日 17:39
  • 1633

Fragment学习之Activity传递数据到Fragment

上一篇文章我们理解怎样使用接口回调的方式将数据从Fragment传递到Activity中,这里我们将探讨如何将数据从Activity传到Fragment中。 思路:把数据先保存到Bundle中,...
  • u010739551
  • u010739551
  • 2015年03月19日 16:18
  • 1300

Android笔记--简单的Fragment和Activity的之间的数据交互(传值)

通过点击MainActivity里的按钮传一个字符串给MainActivity2的fragment里的textview,并显示出来。 1、在MainActivity下:通过intent先把字符串传给M...
  • weilexuexia
  • weilexuexia
  • 2016年03月12日 10:41
  • 2631

Activity和Fragment之间相互传值和调用方法

1。Activity—>Fragment用Bundle传值,... BlankFragment fragment = new BlankFragment(); Bund...
  • RichieZhu
  • RichieZhu
  • 2016年03月30日 15:23
  • 2135

Android进阶之Fragment与Activity之间的数据交互

1概念1 为什么因为Fragment和Activity一样是具有生命周期,不是一般的bean通过构造函数传值,会造成异常。2 参考链接Activity和Fragment传递数据的两种方式【Fragme...
  • chenliguan
  • chenliguan
  • 2016年12月28日 11:24
  • 11998

如何通过超链接打开Activity并传入参数

通常如果我们在程序中要打开一个url,一般是借助于浏览器来打开,但用户手机上会安装多个浏览器,Android做的比较智能,把选择权让给了用户,让用户选择用哪个浏览器来打开 程序代...
  • Tibib
  • Tibib
  • 2013年05月10日 16:09
  • 12696
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android activity 传参
举报原因:
原因补充:

(最多只允许输入30个字)