Android / Java Beginner: переопределение getView ArrayAdapter - PullRequest
1 голос
/ 09 апреля 2010

Во-первых, я новичок в Android и Java, так что это вопрос для начинающих.

У меня есть некоторый код, который переопределяет метод getView ArrayAdapter. Вот код

public View getView(int position, View convertView, ViewGroup parent) {
   TextView label = (TextView)convertView;
   if (convertView == null) {
      convertView = new TextView(ctxt);
      label = (TextView)convertView;
   }
   label.setText(items[position]);
   return (convertView);
}

Мой вопрос: почему label.setText(items[position]); влияет на возвращаемое значение convertView? Как они связаны / связаны?

Ответы [ 3 ]

1 голос
/ 09 апреля 2010

Глядя на ваш код convertView и label - это две переменные, которые обе ссылаются на один и тот же объект TextView. Все, что вы делаете с любой из переменных, будет отражено в объекте TextView, на который они ссылаются.

1 голос
/ 09 апреля 2010

TextView label = (TextView)convertView; не устанавливает метку как копию convertView,

это convertView. Это ссылка на тот же объект. Итак, когда вы делаете

label.setText(items[position]);, он делает это на convertView.

0 голосов
/ 16 сентября 2011
TextView label = (TextView)convertView;

что оба ссылаются на один и тот же объект (ссылка на метку = ссылка на convertView), поэтому convertView будет отражен объектом метки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...