Я разрабатываю приложение, которое реализует mapsView. У меня есть два действия, которые приводят к активности mapsView. activity_A приведет к активности mapsView, и активность mapsView приведет к активности_B. Я ввожу putExtra()
и getBooleanExtra()
в свой код.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), затем нажал ссылку resh в mapsView, mapsView перейдет к заявлению if
. Почему он не подходит к оператору else
в действиях mapsView? Я не нажимаю buttonNavigasi
в activity_B, но я просто нажимаю кнопку «Назад». Что случилось с моим кодом?
Любой ответ будет принята с благодарностью.
Заранее спасибо.
если условие должно быть 'если (! I.getBooleanExtra («карты», ложь))' означает, что если не 'true' затем выполнить, если блок и if true, тогда выполните else block –
. Мой вопрос в том, почему он всегда получает истинное значение, когда я устанавливаю putExtra в значение false? –
Я имею в виду, что ваша кнопка в activity_B устанавливает значение extra в true и начинает новое намерение. Если вы не используете этот код в рассматриваемом вопросе, не публикуйте его. Что делает 'removeAllMarkers'? – zgc7009