Ok, @john2. Check out the screenshots that go with my explanation and also get in the app to study what I did and let me know if this is what you wanted to achieve.
First, I changed your data structure a little. Each answer gets its own text field. A little more flexibility this way. Each question and set of answers will still be its own entry in your database and you can refer to it either by unique ID or add a user field (type user) to attach it to a specific user.
Then I adjusted the submit button accordingly…
Now, I went ahead and created the radio button element since that was your goal anyway. I put the element inside the repeating group you created to quickly access the desired question (current cell’s question/answer). The source is basically a merging of each answer text field. Since the element is looking for a list, you need to start this source expression with a search of the database (not just current Q/A’s answer 1) and filter it to answer 1, then you can use “plus item” to add the rest. Click on the “search for…” part in the app to see that I constrained it by unique id [unique id= current cell’s unique id].
Now, when you click submit and a field is empty, nothing is stored in that field, but the radio button’s source has been told that there are to be 4 choices, so it’s going to display 4 buttons no matter what. This is actually less of a null field issue and more just the structure of the radio button element - it doesn’t remove a button if the choice is empty. SO, I started you off with a 3 option scenario by creating a condition on the element. When answer 4 is empty, the choice source changes to exclude answer 4. Do this 2 more times for when answers 3 & 4 are empty and when 2, 3, & 4 are empty. I’d also create some conditions that your fields should be answered in order so that your users don’t go just filling out answer 4 and not the rest.
Let me know if this helps!