Android: EfficientAdapter с двумя различными взглядами

Я думаю, что роль архитектуры изменяется. Я вижу все меньше и меньше архитекторов башни слоновой кости, которые разрабатывают целую систему для непритязательных программистов для реализации в процессе водопада.

При выполнении повторяющейся коммуникации проектов между архитекторами и программистами становится более важным. Архитектор является частью команды и должен быть в состоянии обработать изменяющиеся требования и новые идеи вместе с программистами. В таких ситуациях задание архитектора и программиста более тесно связано. Я видел команды, где dev-приведение взяло на себя роль архитекторов, поставляют хорошо продуманную архитектуру для действительно сложных решений.

редактирование В ответ на комментарий
я думаю в различии между приложением, архитектор решения и предприятия немного искусственен и действительно не соответствует во многих случаях. Роли как архитектор систем безопасности, архитектор данных и т.д. дает намного более ясный disinction между обязанностями. Можно здесь искать больше деталей http://stevendwright.home.comcast.net/~stevendwright/ArchRoles.htm

Между прочим, от чтения вопроса снова я заметил, что многие аргументы против кодирования архитекторов, кажется, указывают на сильное управление/ведущую роль для архитектора. Я думаю, что это - хорошая идея разделить роли архитектуры и управление. Лучше сделать, чтобы Ваши технические люди разделили свое время между кодированием и архитектурой, чем между управлением и архитектурой.

12
задан znq 2 November 2009 в 10:13
поделиться

2 ответа

Вы забыли пару методов, которые необходимо переопределить: getViewTypeCount () и getItemViewType () . Они не нужны для списков, в которых все строки одинаковы, но они очень важны для вашего сценария. Реализуйте их должным образом, и Android будет поддерживать отдельные пулы объектов для ваших заголовков и строк деталей.

Или вы можете посмотреть:

14
ответ дан 2 December 2019 в 18:20
поделиться

Благодаря подсказке с getViewTypeCount () и getItemViewType () теперь он работает отлично.

Реализовать эти два метода было очень просто:

@Override
public int getViewTypeCount() {
    return 2;
}

@Override
public int getItemViewType(int position) {
if(listPlaces.getValues().get(position).separator >= 0)
    return 0;
else
    return 1;
}

Как упоминалось в commonsware в его ответе таким образом Android будет поддерживать разные пулы объектов для разных элементов списка, что также означает, что вы можете удалить проверку для listRow_previous в моем примере и изменить if (convertView == null || ( listRow! = listRow_previous)) в только if (convertView == null) .

6
ответ дан 2 December 2019 в 18:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: