Indexoutofbounds: доступ к другой переменной класса
Я получаю исключение IndexOutOfBounds в своем коде на моем MainActivity.class.
Индекс: 0 Размер: 0
Я попытался распечатать координаты, которые я получаю, и он показывает фактические координаты, которые мне нужны. Когда я обращаюсь к переменной из другого класса, я ничего не получаю. В чем, по-видимому, проблема?
Что я уже пробовал:
I was trying to access coordinates from my ArrayList from Sample.class using: This is my MainActivity.class public void onMapReady(GoogleMap googleMap) { mMap = googleMap; mMap.setMinZoomPreference(15.0f); mMap.setMaxZoomPreference(20.0f); mMap.setOnMapClickListener(this);; LatLng latLng = new LatLng(14.397420, 121.033051); mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); double lat = smsReceiver.locationcoords.get(0); double lon = smsReceiver.locationcoords.get(1); LatLng geofencePos = new LatLng(lat,lon); geofenceMarker = mMap.addMarker(new MarkerOptions() .position(geofencePos)); } This is my SmsReceiver.class where I am getting the coordinates. I printed the coordinates and it displays the coordinates I am receiving. ArrayList locationcoords = new ArrayList(); //variable set on public public void sendDataToFirebase(SmsMessage sms, Context context) { FirebaseApp.initializeApp(context); databaseLocation = FirebaseDatabase.getInstance().getReference("smsdata"); String senderNumber = sms.getOriginatingAddress(); String mydate = java.text.DateFormat.getDateTimeInstance().format(Calendar.getInstance().getTime()); String message = sms.getMessageBody(); String[] separatedSMS = message.split("\\s+"); String needHelp = "I NEED HELP"; DatabaseReference mRef = databaseLocation.push(); Double latitudedb = Double.parseDouble(separatedSMS[1]); Double longitudedb = Double.parseDouble(separatedSMS[3]); HashMap<String, Double> coordinates = new HashMap<String, Double>(); coordinates.put("latitude", latitudedb); coordinates.put("longitude", longitudedb); mRef.setValue(coordinates); locationcoords.add(latitudedb); locationcoords.add(longitudedb); double lat = locationcoords.get(0); double lon = locationcoords.get(1); System.out.println(lat); System.out.println(lon); }