Android开发 Intent传递参数,获取数据为null
生活随笔
收集整理的這篇文章主要介紹了
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日志截圖
總結
以上是生活随笔為你收集整理的Android开发 Intent传递参数,获取数据为null的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android开发 bug问题解决:O
- 下一篇: 调用startActivityForRe