後顯示空我)在全球範圍內初始化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