Home > Mobile >  Struggling with a list geofenceList in Kotlin
Struggling with a list geofenceList in Kotlin

Time:01-21

I tracked my problem down to adding to my geofenceList.

this is a global variable

lateinit var geofenceList: MutableList<Geofence>

In onCreate I add to the list:

val latitude = -26.082586
val longitude = 27.777242
val radius = 10f
geofenceList.add(Geofence.Builder()
      .setRequestId("Toets")
      .setCircularRegion(latitude,longitude,radius)
      .setExpirationDuration(Geofence.NEVER_EXPIRE)
      .setTransitionTypes(Geofence.GEOFENCE_TRANSITION_ENTER)
      .build())

Every time I run the app the app closes as soon as it opens.

I tried changing it to a normal variable but I am not certain how to do it and keep it a global variable, and a List would be more useful.

CodePudding user response:

I just realized what your issue is: You never initialize your list. When you follow the advice in my comment, you should find a NullPointerException and here's how to fix it:

Firstly, try to avoid lateinit if possible. The compiler actually tries to find this problem for you and by using lateinit, you basically tell the compiler to shut up - even though the mistake is still there. INstead, you need to initialize your variable like so:

var geofenceList: MutableList<Geofence> = mutableListOf()

You could make it even shorter by removing the explicit type declaration:

var geofenceList = mutableListOf<Geofence>()
  • Related