I am working on an expandable listview and after I create a rewarded ad, I want to add an expandable listview after the user watches the rewarded ad but, the app crashes with the Android Monitor Error. Here is the code...
class MainActivity : Activity(),RewardedVideoAdListener {
override fun onRewardedVideoAdClosed() = Unit
override fun onRewardedVideoAdLeftApplication() = Unit
override fun onRewardedVideoAdLoaded() = Unit
override fun onRewardedVideoAdOpened() = Unit
override fun onRewarded(rewardedLiterature: RewardItem?) {
    rewardedLiterature.apply {
        ParentList.add("New Articles")
        ParentList.reverse()
    }
}
override fun onRewardedVideoStarted() = Unit
override fun onRewardedVideoAdFailedToLoad(p0: Int) {
   Toast.makeText(this,"Please try again",Toast.LENGTH_SHORT).show()
}
private lateinit var childlist: MutableList<String>
private lateinit var ParentListItems: MutableMap<String, List<String>>
private lateinit var expandabilityView: ExpandableListView
private var ParentList: MutableList<String> = ArrayList()
 )
private var poems = arrayOf("Five","Six","Seven")
private var LoveName = arrayOf("Eight","Nine","Ten","Eleven")
private var moreLiterature = arrayOf("ZOne","zTwo","ZThree")
private var ByDefaultMessage = arrayOf("Items Loading")
private lateinit var mRewardedVideoAd : RewardedVideoAd
init {
    ParentList.add("Letters")
    ParentList.add("Poems")
    ParentList.add("Let's Chill!")
}
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
     mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this)
     mRewardedVideoAd.rewardedVideoAdListener = this
     loadRewardedVideoAd()
     val moreContentButton = findViewById<FloatingActionButton>(R.id.moreContents)
      moreContentButton.setOnClickListener{
              if (mRewardedVideoAd.isLoaded) {
                  mRewardedVideoAd.show()
              }
      }
    ParentListItems = LinkedHashMap()
    for (HoldItem in ParentList) {
        when (HoldItem) {
            "Letters" -> loadChild(funnyLiterature)
            "Poems" -> loadChild(poems)
            "Let's Chill!" -> loadChild(LoveName)
            "New Articles" -> loadChild(moreLiterature)
            else -> loadChild(ByDefaultMessage)
        }
        ParentListItems.put(HoldItem, childlist)
    }
    expandabilityView = findViewById(R.id.expandableListView1)
    val expListAdapter = ListAdapter(
            this, ParentList, ParentListItems)
    expandabilityView.setAdapter(expListAdapter)
    expListAdapter.notifyDataSetChanged()
    expandabilityView.setOnChildClickListener {_, _, groupPosition, childPosition, _ ->
        val selected = expListAdapter.getChild(
                groupPosition, childPosition) as String
        val intent = Intent(this@MainActivity, DetailActivity::class.java)
        when (selected) {
            "ማትስ ተማሪ ለፍቅረኛዋ የፃፈችዉ ደብዳቤ" -> titleOfContent = detailContents[0]
            "የህግ ተመራቂ ለፍቅረኛዉ የፃፈዉ መልእክት" -> titleOfContent = detailContents[1]
            "የ‹ለምን አንተን ወደድኩህ?›ፍልስፍና" ->  titleOfContent = detailContents[2]
            "አጭር መልእክት" -> titleOfContent = detailContents[3]
        }
           private fun loadRewardedVideoAd() =
      mRewardedVideoAd.loadAd("ca-app-pub-xxxxxxx", AdRequest.Builder().build())
private fun loadChild(ParentElementsName: Array<String>) {
    childlist = ArrayList()
    for (model in ParentElementsName)
        childlist.add(model)
}
companion object {
    internal var titleOfContent: String ?= null
     private var detailContents = arrayOf("This","Is","a","Test")
And Here is the Adapter Class...
 class ListAdapter(private val context: Activity, private val Items: List<String>,
                  private val ParentListItems: Map<String, List<String>>) : BaseExpandableListAdapter() {
    override fun getChild(groupPosition: Int, childPosition: Int): Any =
            ParentListItems[Items[groupPosition]]!![childPosition]
    override fun getChildId(groupPosition: Int, childPosition: Int): Long = childPosition.toLong()
    override fun getChildView(groupPosition: Int, childPosition: Int,
                              isLastChild: Boolean, ListView: View?, parent: ViewGroup): View {
        var myListView = ListView
        val contentPosition = getChild(groupPosition, childPosition) as String
        val inflater = context.layoutInflater
        if (myListView == null) myListView = inflater.inflate(R.layout.child_list_item, null)
        val item = myListView!!.findViewById<TextView>(R.id.textView1)
        item.text = contentPosition
        return myListView
    }
    override fun getChildrenCount(groupPosition: Int): Int =
            ParentListItems[Items[groupPosition]]!!.size
    override fun getGroup(groupPosition: Int): Any = Items[groupPosition]
    override fun getGroupCount(): Int = Items.size
    override fun getGroupId(groupPosition: Int): Long = groupPosition.toLong()
    override fun getGroupView(groupPosition: Int, isExpanded: Boolean,
                              ListView: View?, parent: ViewGroup): View {
        var myListView= ListView
        val allContents = getGroup(groupPosition) as String
        if (myListView == null) {
            val textInflater = context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
            myListView = textInflater.inflate(R.layout.parent_list_item, null)
        }
        val item = myListView!!.findViewById<TextView>(R.id.textView1)
        item.text = allContents
        return myListView
    }
    override fun hasStableIds(): Boolean = true
    override fun isChildSelectable(groupPosition: Int, childPosition: Int): Boolean = true
}
The Android Monitor says that Kotlin NullPoint Exception is found on the Adapter class of getChildrenCount function.
 
    