Differenz zwischen with und run in Kotlin

Tunwith undrun haben die gleiche Funktionalität mit nur unterschiedlicher Syntax, oder gibt es wesentliche Unterschiede zwischenwith undrun?

Was ist der richtige Weg?

adapter.run {
    notifyDataSetChanged()
    if (activityDetails.isEmpty())
        emptyText.visibility = View.VISIBLE
    else 
       emptyText.visibility = View.GONE
}


with(adapter){
   notifyDataSetChanged()
   if (activityDetails.isEmpty())
       emptyText.visibility = View.VISIBLE
   else 
       emptyText.visibility = View.GONE
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage