Хорошо, поэтому я смущен тем, что Android-идентификаторы должны быть уникальными или нет. Вот почему возникает путаница:
Скажем, есть Activity
, который имеет TextView
(android: id = "text" ) и Button
(android: id = "button"). Button
устанавливает текст текстового представления в случайный текст. Итак, чтобы добавить слушателя, я заберу кнопку, как и
Button b = (Button) findViewById(R.id.button)
, а затем добавьте слушателя для выполнения задачи.
Теперь я могу ссылаться на этот тот же TextView от DialogFragment
, a Fragment
и то, что не с тем же id R.id.text
, и все изменения будут когда-либо применены к этому текстовому виду без сомнения,
В случае подкласса BaseAdapter
вам необходимо переопределить getView
, где вы делаете раздувание, если это необходимо, а если нет, вы вносите изменения. Теперь вы получите Views
почти таким же образом. Почти.
Вы делаете convertView.findViewById(..)
.
Если все представления должны иметь уникальный идентификатор, как изменение содержимого View
в getView
не приводит к хаотичному поведению?
Я имею в виду, что все просмотренные представления имеют тот же идентификатор, что и в макете.
Я понимаю, что идентификаторы уникальны в контексте представления, которое их накачивало. Поскольку я новичок, я прошу разъяснений
Обновление после ответа Ахмада
Итак, это означает, что я не могу раздуть два Fragment
в Activity
, используя тот же макет. Это приведет к исключению. Оба завышены тем же самым Activity
, поэтому принадлежат к одному и тому же экземпляру. Идентификаторы конфликтуют