我正在开发一个实现mapsView的应用程序。我有两个活动导致mapsView活动。 activity_A将导致mapsView活动,而mapsView活动将导致activity_B。我正在我的代码中实现putExtra()
和getBooleanExtra()
。
这是我在activity_A
中的代码case R.id.buttonMaps:
Intent i = new Intent(MainActivity.this, MapsActivity.class);
i.putExtra("maps", false);
startActivity(i);
break;
这是我在activity_B中的代码
buttonNavigasi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(DetailActivity.this,MapsActivity.class);
i.putExtra("nama", daftarNama);
i.putExtra("deskripsi", daftarDeskripsi);
i.putExtra("foto", daftarFoto);
i.putExtra("marker", daftarMarker);
i.putExtra("lat", daftarLat);
i.putExtra("lng", daftarLng);
i.putExtra("maps", true);
startActivity(i);
}
});
这是我在mapsView活动中的代码
case R.id.action_refresh:
removeAllMarkers();
if(i.getBooleanExtra("maps", true)) {
mMyMarkersArray.add(new MyMarker(i.getStringExtra("nama"), i.getStringExtra("deskripsi"), i.getStringExtra("foto"), i.getStringExtra("marker"), Double.parseDouble(i.getStringExtra("lat")), Double.parseDouble(i.getStringExtra("lng"))));
UI_HANDLER.postDelayed(UI_UPDATE_RUNNABLE, 500);
}
else {
registerReceiver(mNetworkReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
}
getCurrentLocation();
return true;
问题是当mapsView转到activity_B并且在activity_B中我按下后退按钮(返回到mapsView活动)然后我按下了mapsView中的刷新图标,mapsView将转到if
语句。为什么它没有转到mapsView活动中的else
语句?我没有在activity_B中按buttonNavigasi
,但我只需按后退按钮。我的代码出了什么问题?
任何答案都将不胜感激。
提前致谢。
答案 0 :(得分:0)
您似乎期望false
将值与第二个参数进行比较。第二个参数是默认值,如果找不到该值,则返回该值。 virtualenv
会返回{{1}},因为这是您刚刚设置的值。