Причиной вашей проблемы является то, что вы создаете переменную класса TextView как textView, и каждый раз, когда вы ищите, только это обновляется с новой ссылкой, и в результате сохраняется только последний textView. Это тип проблемы логики.
Теперь решение состоит в том, что вы создаете новый объект вашего TextView в цикле for, поэтому различные ссылки на объекты будут добавлены в llOptions LinearLayout. Единственное, что вам нужно сделать, это удалить переменную класса для textView и создать объект каждый раз в цикле for:
public class Demo extends AppCompatActivity implements View.OnClickListener {
private LinearLayout llOptions;
private TextView tvOptionFirstQue; //Comment by Hari: textView removed from here.
private ArrayList<String> arrayList = new ArrayList<>();
private static final int MY_BUTTON = 9000;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_quiz_demo);
llOptions = findViewById(R.id.llOptions);
tvOptionFirstQue = findViewById(R.id.tvOptionFirstQue);
for (int i = 0; i < 4; i++) {
TextView textView = new TextView(Demo
.this); //Comment by Hari: creating TextView object each time so that new reference will be created each time instead of over writing the same reference each time.
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
//Rest are unchanged......
Надеюсь, это решит вашу проблему. Дайте мне знать ваш опыт.