I Global Initialized Arraylist in Programm haben, und hinzugefügt die Breite und Länge der JSON Data.In die makeJsonPopularDestinationDetailPage() der Wert in der Arraylist hinzugefügt und es ist ganz gut, wie ich innerhalb der Funktion erwartete. Aber wenn ich versuche, auf die andere Funktion zuzugreifen, zeigt es null. Warum zeigt die Arraylist nicht Null an?Arraylist wird angezeigt Null auch nach Daten drängen hinein
PopularDestinationGridDetail
private void makeJsonPopularDestinationDetailPage() {
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
String URL1 = Navigation_URL_Popular_Destination + "/1";
StringRequest stringRequest = new StringRequest(Request.Method.GET, URL1,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
//
JSONObject jsonObject = new JSONObject(response);
title = jsonObject.getString("title");
description = jsonObject.getString("description");
latitude = jsonObject.getString("latitude");
longitude = jsonObject.getString("longitude");
templeTitle.setText(title);
textDescription.setText(description);
destination_list_google_map.add(new ClassDestinationGoogleMap(latitude, longitude));
addMarker();
} catch (JSONException e) {
Toast.makeText(getApplicationContext(), "Fetch failed!", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
//
// System.out.println("Wow" + destination_list_google_map.get(0).getLatitude());
// System.out.println("Wow" + destination_list_google_map.get(0).getLongitude());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), error.toString(), LENGTH_LONG).show();
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<String, String>();
// headers.put("Authorization", "Bearer " + access_token);
headers.put("Content-Type", "application/x-www-form-urlencoded");
return headers;
}
};
requestQueue.add(stringRequest);
}
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.destination_button_gallery) {
fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_changer_detaildestination, new FragmentImageGallery())
.commit();
imageButtongallery.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.destination_circular_shape_icon_withclick));
imageButtongallery.setImageResource(R.mipmap.destination_imagebutton_gallery_onclick);
ButtonVideo.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.destination_circular_shape_icon_without_click));
ButtonVideo.setImageResource(R.mipmap.destination_video_button_without_click);
ButtonAudio.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.destination_circular_shape_icon_without_click));
ButtonAudio.setImageResource(R.mipmap.destination_audio_button_without_click);
} else if (id == R.id.destination_button_video) {
fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_changer_detaildestination, new FragmentVideoDestination()).commit();
imageButtongallery.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.destination_circular_shape_icon_without_click));
imageButtongallery.setImageResource(R.mipmap.destination_imagebutton_gallery_without_click);
ButtonVideo.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.destination_circular_shape_icon_withclick));
ButtonVideo.setImageResource(R.mipmap.destination_video_button_onclick);
ButtonAudio.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.destination_circular_shape_icon_without_click));
ButtonAudio.setImageResource(R.mipmap.destination_audio_button_without_click);
} else if (id == R.id.destination_button_audio) {
fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_changer_detaildestination, new FragmentAudioDestination()).commit();
imageButtongallery.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.destination_circular_shape_icon_without_click));
imageButtongallery.setImageResource(R.mipmap.destination_imagebutton_gallery_without_click);
ButtonVideo.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.destination_circular_shape_icon_without_click));
ButtonVideo.setImageResource(R.mipmap.destination_video_button_without_click);
ButtonAudio.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.destination_circular_shape_icon_withclick));
ButtonAudio.setImageResource(R.mipmap.destination_audio_button_onclick);
} else {
fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_changer_detaildestination, new FragmentImageGallery())
.commit();
}
}
void addMarker(){
Double x = Double.valueOf(destination_list_google_map.get(0).getLatitude());
Double y = Double.valueOf(destination_list_google_map.get(0).getLongitude());
System.out.println("x"+x);
System.out.println("y"+y);
LatLng populardestination = new LatLng(x, y);
mMap.addMarker(new MarkerOptions().position(populardestination).title("Suman"));
CameraPosition cameraPosition = new CameraPosition.Builder().target(populardestination).zoom(15).build();
mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
@Override
public void onMapReady(GoogleMap googleMap) {
// System.out.println("object" + destination_list_google_map.get(position).getLatitude());
// System.out.println("Wow" + destination_list_google_map.get(0).getLatitude()); *****why null, idon't get it
// System.out.println("Wow" + destination_list_google_map.get(0).getLongitude());
//
// destination_list_google_map.get(0).getLatitude();
//
// Double x = Double.valueOf(27.6644);
// Double y = Double.valueOf(85.3188);
// Double x = Double.valueOf(destination_list_google_map.get(0).getLatitude());
// Double y = Double.valueOf(destination_list_google_map.get(0).getLongitude());
mMap = googleMap;
// LatLng populardestination = new LatLng(x, y);
// googleMap.addMarker(new MarkerOptions().position(populardestination).title("Suman"));
// CameraPosition cameraPosition = new CameraPosition.Builder().target(populardestination).zoom(15).build();
// googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
ClassDestinationGoogleMap
public class ClassDestinationGoogleMap implements Serializable {
public String latitude;
public String longitude;
public ClassDestinationGoogleMap(String lati, String longi) {
latitude = lati;
longitude = longi;
}
public String getLatitude() {
return latitude;
}
public String getLongitude() {
return longitude;
}
}
ich nicht den genauen Grund bekommen, warum es zeigt null.Can jemand es erklären?
mehr Code benötigen, um Figur dies aus –
@ Kapsym aktualisiert Überprüfung – seon
Ist "OnMapReady" eine der Funktionen, wo Sie nicht auf das Array zugreifen können? – ShahiM