Идея заключается в том, что RateableWrapper - это место, где находится большая часть логики нашего списка рейтингов. Он размещает полосы рейтинга на строках и отслеживает состояния полос рейтинга по мере их изменения пользователем. Для состояний у него есть float[], размер которого соответствует количеству строк, которые, по словам делегата, находятся в списке.
Реализация функции getView() в RateableWrapper напоминает таковую в RateListDemo, за исключением того, что вместо использования LayoutInflater нам нужно вручную построить LinearLayout, чтобы вместить наш RatingBar и "внутренности" (то есть представление, созданное делегатом, которое мы украшаем флажком). LayoutInflater предназначен для построения представления из необработанных виджетов; в нашем случае мы не знаем заранее, как будут выглядеть строки, кроме того, что нам нужно добавить в них флажок. Однако все остальное похоже на то, что мы видели в RateListDemo:
Разница заключается в возможности повторного использования. Мы м