Próbuje umieścić otrzymywaną lokalizację na mapę Google. Aktywność ma dwa fragmenty i w pierwszym jest kliknięcie myszy.
Listener nasłuchuje dla obu fragmentów. Niestety nie wiem jak przekazać z aktywności poprawnie tą lokalizację do już utworzonego fragmentu drugiego po kliknięciu myszy w pierwszy fragmencie.
Oto fragment kodu po kliknięciu myszy - Po zmianie lokalizacji powinien przekazać tekst.
public void Click( View view ){
final LocationListener locList = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
String str = "NewYork";
bundle.putString("message",str);
MapFragment map = new MapFragment();
map.setArguments(bundle);'
}
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
}
@Override
public void onProviderEnabled(String s) {
}
@Override
public void onProviderDisabled(String s) {
}
};
}
Fragment potwierdzający, że Bundle jest pusty(nie wyświetla się) wewnątrz MapFragment:
public void onMapReady(GoogleMap map) {
Bundle bundle = this.getArguments();
if (bundle != null) {
Log.e("LOG","Bundle pelny ");
try {
String strtext = bundle.getString("message");
Log.e("LOG","String pelny ");
}
catch(NullPointerException e)
{
}
}
}
Rozwiązanie, które jest powyżej nie przekaże mi nowego Stringa do MapFragment, bo bundle ustawia się w trakcie tworzenia fragmentu, a potem mnie zwyczajnie olewa. Czy ktoś zna magiczny sposób,który umożliwia przekazanie lokalizacji z aktywności do MapFragment, gdy już fragment jest utworzony? Pomoże w tym BroadCast Receiver?
Może da się zmusić jakoś tego Bundle'a do współpracy? ;)