P
prof.dopenudel
Neues Mitglied
- 2
Hallo,
bin gerade sehr verzweifelt. Sitze seit 3 Stunden an dem Schrott dran und nichts funktioniert.
Es geht um folgendes.
Habe eine App. Die App startet mit einer SplashScreen Klasse, um mit einem PlaceAutocompleteFragment einen Ort hinzuzufügen.
Mit
Wird der Name und die lon und lat ermittelt und als String gespeichert. Das funktioniert auch top bis dahin.
Nun möchte ich von dieser Klasse die lon und lat an meine Fragmentklasse schicken.
Das wollte ich so machen:
und dann in der Fragmentklasse mit:
aufrufen.
Mit dieser Methode bekomme ich eine "java.lang.NullPointerException:" Meldung
"java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference
at com.example.user.app.TabOverview.onCreateView(TabOverview.java:56)"
Ok. Also ab ins Internet um dort ein wenig umher zu stöbern.
Als erstes sagen die dort, dass man es mit getExtra(), putExtra() und Intents versuchen soll, aber das geht nicht. Denke weil es eine Fragmentklasse ist?
Dann habe ich diesen Code gefunden:
Damit kommt immerhin keine Fehlermeldung, aber es wird einfach kein Wert übergeben.
Nur noch so. "longi.setText(lon);" ist nur dazu da, dass man sieht, ob ein Wert übergeben wurde.
Gibt es vielleicht noch andere Möglichkeiten oder bin ich einfach zu dumm?
Bin echt am Ende mit der Lust, weil nichts funktioniert...
Hoffentlich kann mir einer von euch helfen!
Danke schon einmal im voraus!
Grüße
bin gerade sehr verzweifelt. Sitze seit 3 Stunden an dem Schrott dran und nichts funktioniert.
Es geht um folgendes.
Habe eine App. Die App startet mit einer SplashScreen Klasse, um mit einem PlaceAutocompleteFragment einen Ort hinzuzufügen.
Mit
Code:
autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(Place place) {
// TODO: Get info about the selected place.
//Log.i(TAG, "Place: " + place.getName());
final String placeName = place.getName().toString();
final String latitude = String.valueOf(place.getLatLng().latitude);
final String longitude = String.valueOf(place.getLatLng().longitude);
Wird der Name und die lon und lat ermittelt und als String gespeichert. Das funktioniert auch top bis dahin.
Nun möchte ich von dieser Klasse die lon und lat an meine Fragmentklasse schicken.
Das wollte ich so machen:
Code:
Bundle bundle = new Bundle();
bundle.putString("latitude", latitude);
bundle.putString("longitude", longitude);
TabOverview tabOverview = new TabOverview();
tabOverview.setArguments(bundle);
//TabOverview ist meine Fragmentklasse
und dann in der Fragmentklasse mit:
Code:
Bundle bundle = getArguments();
lon = getArguments().getString("longitude");
longi.setText(lon);
lat = getArguments().getString("latitude");
lati.setText(lat);
aufrufen.
Mit dieser Methode bekomme ich eine "java.lang.NullPointerException:" Meldung
"java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference
at com.example.user.app.TabOverview.onCreateView(TabOverview.java:56)"
Ok. Also ab ins Internet um dort ein wenig umher zu stöbern.
Als erstes sagen die dort, dass man es mit getExtra(), putExtra() und Intents versuchen soll, aber das geht nicht. Denke weil es eine Fragmentklasse ist?
Dann habe ich diesen Code gefunden:
Code:
Bundle bundle = getArguments();
if (bundle != null) {
lon = getArguments().getString("longitude");
longi.setText(lon);
lat = getArguments().getString("latitude");
lati.setText(lat);
}
Damit kommt immerhin keine Fehlermeldung, aber es wird einfach kein Wert übergeben.
Nur noch so. "longi.setText(lon);" ist nur dazu da, dass man sieht, ob ein Wert übergeben wurde.
Gibt es vielleicht noch andere Möglichkeiten oder bin ich einfach zu dumm?
Bin echt am Ende mit der Lust, weil nichts funktioniert...
Hoffentlich kann mir einer von euch helfen!
Danke schon einmal im voraus!
Grüße