Use bitwise ops on caching strategy in ListViewAdapter.cs (#1149)

This commit is contained in:
kingces95 2017-09-19 13:47:12 -04:00 коммит произвёл Rui Marinho
Родитель 4cfdbabb58
Коммит d0da0c8bfa
1 изменённых файлов: 6 добавлений и 4 удалений

Просмотреть файл

@ -218,7 +218,7 @@ namespace Xamarin.Forms.Platform.Android
else
layout = new ConditionalFocusLayout(_context) { Orientation = Orientation.Vertical };
if (cachingStrategy == ListViewCachingStrategy.RecycleElement && convertView != null)
if (((cachingStrategy & ListViewCachingStrategy.RecycleElement) != 0) && convertView != null)
{
var boxedCell = convertView as INativeElementView;
if (boxedCell == null)
@ -321,7 +321,8 @@ namespace Xamarin.Forms.Platform.Android
return leftOver > 0;
}
if (((IListViewController)list).CachingStrategy == ListViewCachingStrategy.RecycleElement)
var strategy = ((IListViewController)list).CachingStrategy;
if ((strategy & ListViewCachingStrategy.RecycleElement) != 0)
{
if (_enabledCheckCell == null)
_enabledCheckCell = GetCellForPosition(position);
@ -375,7 +376,7 @@ namespace Xamarin.Forms.Platform.Android
{
Cell cell = null;
if (Controller.CachingStrategy == ListViewCachingStrategy.RecycleElement)
if ((Controller.CachingStrategy & ListViewCachingStrategy.RecycleElement) != 0)
{
AView cellOwner = view;
var layout = cellOwner as ConditionalFocusLayout;
@ -461,7 +462,8 @@ namespace Xamarin.Forms.Platform.Android
if (global == position || cells.Count > 0)
{
//Always create a new cell if we are using the RecycleElement strategy
var headerCell = _listView.CachingStrategy == ListViewCachingStrategy.RecycleElement ? GetNewGroupHeaderCell(group) : group.HeaderContent;
var recycleElement = (_listView.CachingStrategy & ListViewCachingStrategy.RecycleElement) != 0;
var headerCell = recycleElement ? GetNewGroupHeaderCell(group) : group.HeaderContent;
cells.Add(headerCell);
if (cells.Count == take)