У меня есть фрагмент с прокруткой. Изначально есть 3 редактируемых текста, которые я добавляю программно, а не через xml. Желаемая функция - это когда пользователь щелкает последний текст редактирования, т.е. номер 3, он автоматически добавляет четвертый текст редактирования непосредственно под ним. Когда пользователь нажимает на 4-й текст редактирования, он добавляет 5-й и так далее. Мой код, показанный ниже, почти работает. Когда пользователь нажимает на редактировать текст 3, он добавит четвертый, а когда они нажмут на четвертый, он добавит пятый, однако после этого он больше не будет добавлять никаких текстов редактирования.
У меня есть прослушиватель onFocusChange, и я также обратите внимание, что этот слушатель активируется только на 3-м и 4-м текстах редактирования. По какой-то странной причине слушатель не активируется при нажатии на любой другой текст редактирования.
// Adds 3 edit texts to the view which are stored in an array list.
for (int etId = 0; etId <= 3; etId++) {
etChallenges = new EditText(getContext());
editTextList.add(etChallenges);
mLinearLayout.addView(etChallenges);
}
etChallenges.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
int last = 0;
for(last =0; last <= editTextList.size()-1; last++){
if(last == editTextList.size()-1){
etChallenges = new EditText(getContext());
editTextList.add(etChallenges);
mLinearLayout.addView(etChallenges);
break;
}
}