使用Intent传值及回传值

Posted qukaige

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Intent传值及回传值相关的知识,希望对你有一定的参考价值。

简单传值

FirstActivity.java

        findViewById(R.id.button).setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
                intent.putExtra("extra_data","data"); // 传字符串, 更多传值方法
                startActivity(intent);
            }
        });

SecondActivity.java

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        // 获取Intent对象
        Intent intent = getIntent();
        // 根据key获取value
        String extra_data = intent.getStringExtra("extra_data");
        // 获取一个没有的可以 结果 null
        String extra_data2 = intent.getStringExtra("extra_data2");
        Log.i(TAG, "onCreate: " + extra_data + extra_data2);
   }

回传值:

修改FirstActivity.java

/**
 * 监听获取activity返回的数据
 * @param requestCode 传入的请求码
 * @param resultCode 处理结果码
 * @param data intent数据
 */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (requestCode) {
        case 1:
            if (resultCode == RESULT_OK) {
                String resultData = data.getStringExtra("data_return");
                Log.i(TAG, "onActivityResult: " + resultData);
            }
            break;
        default:
    }
}

修改SecondActivity.java

        button = (Button) findViewById(R.id.button2);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.putExtra("data_return", "hello FirstActivity");
                // 给上一个活动返回数据
                setResult(RESULT_OK, intent);// 回调(FirstActivity.java中)onActivityResult方法
                finish();
            }
        });

  

  

以上是关于使用Intent传值及回传值的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio基础项目-两个Activity的Intent跳转与传值,并onActivityResult回传一个/多个值,与回传消息内容。

Android Studio基础项目-两个Activity的Intent跳转与传值,并onActivityResult回传一个/多个值,与回传消息内容。

Android Studio基础项目-两个Activity的Intent跳转与传值,并onActivityResult回传一个/多个值,与回传消息内容。

Android 两个Activity间的传值与回传值

C#(Winfrom)窗体传值问题(子窗体回传值给父窗体)

C#(Winfrom)窗体传值问题(子窗体回传值给父窗体)