Android---获取Activity返回的数据

使用场景:

类似于这种场景:第一个Activity中需要选择设备的经纬度信息(在百度选择地理位置选择),因此需要重新开一个Activity界面显示地图,让用户在地图上标注地点,取得经纬度信息,并返回第一个页面,保存在经纬度信息栏;

步骤:

1、第一个MainActivity.java:

通过startActivityForResult(Intent intent, requestCode int)方法启动第二个Activity;

package top.javaer.app.sound;

        import android.content.Intent;
        import android.support.v7.app.AppCompatActivity;
        import android.os.Bundle;
        import android.view.View;
        import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.getChuanzhi);

        findViewById(R.id.startAnotherActivity).setOnClickListener(new View.OnClickListener() {
            /**
             * Activity之间通过Intent传递自定义的值对象
             * @param view
             */
            @Override
            public void onClick(View view) {
                Intent i = new Intent(MainActivity.this, SecondActivity.class);
                i.putExtra("user", new User("Jamie", 20));
                // startActivity(i);
                startActivityForResult(i, 0);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        textView.setText("第二个Activity传过来的值是:" + data.getStringExtra("data"));
    }
}
2、第二个SecondActivity.java:

通过Intent传递参数,值为editText.getText().toString();

通过setResult(resultCode int, Intent intent)设置返回状态码、返回数据;

通过finish();结束当前的Activity;

package top.javaer.app.sound;

import android.content.Intent;
import android.support.v7.app.AppCompatActi
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值