Я создаю динамическое число editTexts и хочу, в конце концов, вытащить идентификатор для каждого вызова .getText() в editText.Не удается запрограммировать SetText ID
Однако я заметил, что трудно программно установить идентификатор, поэтому я использую метод .setTag() вместо того, чтобы:
private void createAnswerChoice(int answerNumber) {
ViewGroup layout = (ViewGroup) mRootView.findViewById(R.id.create_poll_questions_answer_layout);
EditText editText = new EditText(getActivity());
editText.setHint(getResources().getString(R.string.answer_text) + " " + answerNumber);
editText.setSingleLine(true);
editText.setImeOptions(EditorInfo.IME_ACTION_DONE);
String editTextID = ((getResources().getString(R.string.created_answer_editText_id))+String.valueOf(answerNumber));
editText.setTag(editTextID);
Toast.makeText(getActivity().getApplicationContext(), editTextID, Toast.LENGTH_SHORT).show();
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
editText.setLayoutParams(layoutParams);
TextInputLayout newAnswer = new TextInputLayout(getActivity());
newAnswer.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
newAnswer.addView(editText, layoutParams);
layout.addView(newAnswer);
}
Как мне получить значение каждого EditText, если я знаю тег, а не идентификатор? Кроме того, какова цель метода .setTag() (как это соотносится с .setID()?)
Что такое проблема с установкой ID? – pratnala
Если вы используете андроид, рекомендуется использовать xml вместо программного создания представлений. Гораздо проще вносить изменения и дает более чистый код. – suku
Я создаю динамические представления на основе числа, которое выбирает пользователь, поэтому статический XML (насколько мне известно) не будет адекватным – tccpg288