后显示空我)在全球范围内初始化ArrayList的计划中,并添加从JSON Data.In的makeJsonPopularDestinationDetailPage(纬度和经度值ArrayList中添加,这是相当好,因为我期望在函数内。但是当我尝试访问另一个函数时,它显示为空。为什么arraylist不显示null?的ArrayList甚至推到的数据是
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;
}
}
我没有得到确切的原因,为什么它显示null.Can人 解释呢?
需要更多的代码来图这一点 –
@kapsym更新检查 – seon
是'OnMapReady'的,你是不是能够访问阵列的功能之一? – ShahiM