Mam adapter pager, który ma nadmuchać złożony widok reprezentujący kalendarz.Jak zaimplementować mechanizm przeglądania widoku dla PagerAdapter?
Potrwa około 350 ms, aby nadmuchać każdy rok kalendarza.
Aby zwiększyć wydajność chciałbym wdrożyć ten sam mechanizm, który istnieje w adapterze ListView
tablicy poglądów recyklingu (convertView
parametru w getView()
).
Oto mój aktualny getView()
z adaptera.
@Override
protected View getView(VerticalViewPager pager, final DateTileGrid currentDataItem, int position)
{
mInflater = LayoutInflater.from(pager.getContext());
// This is were i would like to understand weather is should use a recycled view or create a new one.
View datesGridView = mInflater.inflate(R.layout.fragment_dates_grid_page, pager, false);
DateTileGridView datesGrid = (DateTileGridView) datesGridView.findViewById(R.id.datesGridMainGrid);
TextView yearTitle = (TextView) datesGridView.findViewById(R.id.datesGridYearTextView);
yearTitle.setText(currentDataItem.getCurrentYear() + "");
DateTileView[] tiles = datesGrid.getTiles();
for (int i = 0; i < 12; i++)
{
String pictureCount = currentDataItem.getTile(i).getPictureCount().toString();
tiles[i].setCenterLabel(pictureCount);
final int finalI = i;
tiles[i].setOnCheckedChangeListener(new DateTileView.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(DateTileView tileChecked, boolean isChecked)
{
DateTile tile = currentDataItem.getTile(finalI);
tile.isSelected(isChecked);
}
});
}
return datesGridView;
}
Jakieś wskazówki czy kierunek wdrożenia takiego zachowania? W szczególności, jak mogę dowiedzieć się w adapterze, że przesuwa się jeden z DateTileGridViews
ekranu, aby zapisać go w pamięci, aby ponownie użyć go następnym razem.
Dziękuję bardzo! – penguin86