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;

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

相关文章推荐

android studio activity传参

接上一篇《andriod studio新建activity》 下面把简单的个人信息作为参数传递给新建的activity: (1)把第一页的按钮名称改为: PERSONINFO (2)在第...

intent 跳转实现activity之间传参

  • 2015年10月31日 22:37
  • 1.38MB
  • 下载

android开发--Activity之间的跳转实现、activity传参

现在开始学习安卓,新鲜感还是比较强的。身为一个80后,又要和90后们抢饭碗了。有希望吗?我想答案是肯定的。今天写个笔记,记录activity之间的跳转还有如何传参,防止过段时间因为脑子不好使而忘掉知识...

android中传参的几种写法

  • 2015年02月13日 15:35
  • 1KB
  • 下载

Android与js之间传参

  • 2017年03月16日 09:44
  • 6.69MB
  • 下载

Android Studio平台下JNI开发:Java传参给C

之前道长和小伙伴们分享了一下Android Studio平台下JNI开发:入门使用及常见错误。这里在和小伙伴们分享一下Java传参给C语言。如果对JNI开发还不熟悉可以看一下道长之前分享的。1.在Ma...

Android开发Intent的传参页面跳转

  • 2011年12月26日 21:08
  • 49KB
  • 下载

xamarin.forms跳转android native并传参

xamarin开发过程中,能写在pcl的尽量写在pcl,提高复用率,但有时候因为一些已知的原因,不得不去使用native,xamarin官方github上有提供这部分源码Forms2Native供参考...

android intent跳转时传参

java代码: mainactivity: package com.xpc.intentdemo; import android.app.Activity; import android.cont...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android activity 传参
举报原因:
原因补充:

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