wangjun5159的专栏

保持探索的心,多尝试,多动手----QQ:851228082

android activity 传参

传参

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;

        }
    }
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangjun5159/article/details/51541743
个人分类: android
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

android activity 传参

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭