In the Libgdx Box2D Documentation is clarified, that this list does not contain propper contact information:
"Returns the list of Contact instances produced by the last call to step(float, int, int). Note that the returned list will have O(1) access times when using indexing. contacts are created and destroyed in the middle of a time step. Use ContactListener to avoid missing contacts"
Thanks. I'm also aware of this, but I was thinking that that note only applies to a situation where maybe there was a contact, but by the time you called getContactList(), the contact was ended already --- or something like that.
However, in the video I posted there never is any prior or future contact between the ball and the platform... so I find it really odd that the text becomes yellow.
This is just a guess by me, but it might be the solution to your problem if you would use the ContactListener instead of getContactList, especially because the contactList could actually be empty (in very rare cases but still...) after World.step() hast finished.
What were the the problems you had with the contact listener?
If you notice the close-up image I posted, the platform is actually made up of smaller squares. My problem with contactListener happens when the ball is rolling off of one square onto another square in the same platform... endContact() happens between the ball and square #2 for example, before beginContact() happens between the ball and square #3. So the result is that from the program's perspective, the ball is not in contact with the platform, when in fact, it is.