600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Android开发 Intent传递参数 获取数据为null

Android开发 Intent传递参数 获取数据为null

时间:2021-01-05 15:27:25

相关推荐

Android开发  Intent传递参数 获取数据为null

android开发 Activity通过Intent传递参数,获取失败的原因

启动一个有返回值的activity (MapActivity)

Intent intent = new Intent(UpdateDeveicesActivity.this, MapActivity.class);intent.putExtra("latitude", sensorModel.getLatitutde());intent.putExtra("longitude", sensorModel.getLongtitude());startActivityForResult(intent, Contacts.INDEX_ONE);

MapActivity处理接收的返回值

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_map);ButterKnife.bind(this);String lat, lon;intent = this.getIntent();lat = intent.getStringExtra("latitude");lon = intent.getStringExtra("longitude");Log.e("得到前面传递的数据", lat);Log.e("得到前面传递的数据", lon);}

运行代码,发现程序崩溃?了,提示lat参数为null,导致程序崩溃,

后面突然发现,我传递的一个Double类型的参数,获取的时候是一个String,所以导致activity接收不到数据

后来更改了lat,lon的类型,发现就能够正常接收了,特此编写,以防下次再犯

更改成功之后的代码

//更改类型从String更改为DoubleDouble lat, lon;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_map);ButterKnife.bind(this);intent = this.getIntent();lat = intent.getDoubleExtra("latitude", 0);lon = intent.getDoubleExtra("longitude", 0);Log.e("得到前面传递的数据", "" + lat);Log.e("得到前面传递的数据", "" + lon);}

LOG日志截图

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。