Only Safe Or Non Null Assserted Calls Are Allowed On A Nullable Receiver Type Of Arraylist
Just started using kotlin for android development.My arraylist is declared like this- var day1: ArrayList? = null Now I am trying to access an element b
Solution 1:
The problem is, that you defined the ArrayList as nullable. You have two options here:
- don't define the variable
nullable(this depends on your code):
var day1: ArrayList<DietPlanDetailModel> = ArrayList()
- access your data-structure with a null check:
val dietPlan= day1?.get(position)
Solution 2:
As defined, day1 can be null but you're invoking a function by doing [], which is basically the same as calling day1.get(index).
This can throw a NullpointerException, which the Kotlin compiler tries to prevend. Thus, only safe calls like this are allowed: day1?.get().
Solution 3:
You told compiler that your variable can be null (and assigned null to it).
day1[position] is essentially day1.get(position) which will crash with NPE if day1 is null -> null.get(position)
If you can guarantee that day1 will be initialized id recommend lateinit or just straight up assigning new Arraylist with declaration. Of course, simple day1?.get(position) works fine.
Post a Comment for "Only Safe Or Non Null Assserted Calls Are Allowed On A Nullable Receiver Type Of Arraylist"