Android ConstraintLayout: How to add a dynamic view one below another

You're saying the top of all textviews are connected at the top of the parent:

set.connect(textView.getId(), ConstraintSet.TOP, 
        markerLayout.getId(), ConstraintSet.TOP, 60);

You want to say, the top of one connects to the bottom of the other - something like this:

set.connect(textView.getId(), ConstraintSet.TOP, 
    previousTextView.getId(), ConstraintSet.BOTTOM, 60);

Your method is called method?