【发布时间】:2013-09-26 05:35:16
【问题描述】:
我有一个寻呼机适配器,它可以扩展表示日历的复杂视图。
每年膨胀日历大约需要 350 毫秒。
为了提高性能,我想实现与回收视图的ListView 数组适配器中存在的机制相同的机制(getView() 中的convertView 参数)。
这是我当前来自适配器的getView()。
@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;
}
实现这种行为的任何指针或方向?
特别是我如何在适配器中知道DateTileGridViews 之一正在从屏幕上滑动,以便我可以将其保存在内存中以供下次重用。
【问题讨论】:
-
检查这个解决方案它对我有用stackoverflow.com/a/50208031/3392323
标签: android android-viewpager android-pageradapter convertview