public bool IsEnabled(int position)
        {
            // Header (negative positions will throw an ArrayIndexOutOfBoundsException)
            int numHeaders = HeadersCount;

            if (position < numHeaders)
            {
                return(mHeaderViewInfos[position].IsSelectable);
            }

            // Adapter
            int adjPosition  = position - numHeaders;
            int adapterCount = 0;

            if (mAdapter != null)
            {
                adapterCount = mAdapter.Count;
                if (adjPosition < adapterCount)
                {
                    return(mAdapter.IsEnabled(adjPosition));
                }
            }

            // Footer (off-limits positions will throw an ArrayIndexOutOfBoundsException)
            return(mFooterViewInfos[adjPosition - adapterCount].IsSelectable);
        }
예제 #2
0
            public bool IsEnabled(int position)
            {
                // Header (negative positions will throw an IndexOutOfBoundsException)
                int numHeadersAndPlaceholders = GetHeadersCount() * _numColumns;

                if (position < numHeadersAndPlaceholders)
                {
                    return(position % _numColumns == 0 &&
                           _headerViewInfos[position / _numColumns].IsSelectable);
                }

                // Adapter
                int adjPosition  = position - numHeadersAndPlaceholders;
                int adapterCount = 0;

                if (_adapter != null)
                {
                    adapterCount = GetAdapterAndPlaceHolderCount();
                    if (adjPosition < adapterCount)
                    {
                        return(adjPosition < _adapter.Count && _adapter.IsEnabled(adjPosition));
                    }
                }

                // Footer (off-limits positions will throw an IndexOutOfBoundsException)
                int footerPosition = adjPosition - adapterCount;

                return(footerPosition % _numColumns == 0 &&
                       _footerViewInfos[footerPosition / _numColumns].IsSelectable);
            }
            public bool IsEnabled(int position)
            {
                // Header (negative positions will throw an ArrayIndexOutOfBoundsException)
                int numHeadersAndPlaceholders = HeadersCount * mNumColumns;
                if (position < numHeadersAndPlaceholders)
                {
                    return (position % mNumColumns == 0) && mHeaderViewInfos[position / mNumColumns].isSelectable;
                }

                // Adapter
                if (position < numHeadersAndPlaceholders + mAdapter.Count)
                {
                    //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
                    //ORIGINAL LINE: final int adjPosition = position - numHeadersAndPlaceholders;
                    int adjPosition = position - numHeadersAndPlaceholders;
                    int adapterCount = 0;
                    if (mAdapter != null)
                    {
                        adapterCount = mAdapter.Count;
                        if (adjPosition < adapterCount)
                        {
                            return mAdapter.IsEnabled(adjPosition);
                        }
                    }
                }

                // Empty item
                //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
                //ORIGINAL LINE: final int lastRowItemCount = (mAdapter.getCount() % mNumColumns);
                int lastRowItemCount = (mAdapter.Count % mNumColumns);
                //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
                //ORIGINAL LINE: final int emptyItemCount = ((lastRowItemCount == 0) ? 0 : mNumColumns - lastRowItemCount);
                int emptyItemCount = ((lastRowItemCount == 0) ? 0 : mNumColumns - lastRowItemCount);
                if (position < numHeadersAndPlaceholders + mAdapter.Count + emptyItemCount)
                {
                    return false;
                }

                // Footer
                int numFootersAndPlaceholders = FootersCount * mNumColumns;
                if (position < numHeadersAndPlaceholders + mAdapter.Count + emptyItemCount + numFootersAndPlaceholders)
                {
                    return (position % mNumColumns == 0) && mFooterViewInfos[(position - numHeadersAndPlaceholders - mAdapter.Count - emptyItemCount) / mNumColumns].isSelectable;
                }

                throw new System.IndexOutOfRangeException(position.ToString());
            }
예제 #4
0
            public bool IsEnabled(int position)
            {
                // Header (negative positions will throw an ArrayIndexOutOfBoundsException)
                int numHeadersAndPlaceholders = HeadersCount * mNumColumns;

                if (position < numHeadersAndPlaceholders)
                {
                    return((position % mNumColumns == 0) && mHeaderViewInfos[position / mNumColumns].isSelectable);
                }

                // Adapter
                if (position < numHeadersAndPlaceholders + mAdapter.Count)
                {
                    int adjPosition  = position - numHeadersAndPlaceholders;
                    int adapterCount = 0;
                    if (mAdapter != null)
                    {
                        adapterCount = mAdapter.Count;
                        if (adjPosition < adapterCount)
                        {
                            return(mAdapter.IsEnabled(adjPosition));
                        }
                    }
                }

                // Empty item
                int lastRowItemCount = (mAdapter.Count % mNumColumns);
                int emptyItemCount   = ((lastRowItemCount == 0) ? 0 : mNumColumns - lastRowItemCount);

                if (position < numHeadersAndPlaceholders + mAdapter.Count + emptyItemCount)
                {
                    return(false);
                }

                // Footer
                int numFootersAndPlaceholders = FootersCount * mNumColumns;

                if (position < numHeadersAndPlaceholders + mAdapter.Count + emptyItemCount + numFootersAndPlaceholders)
                {
                    return((position % mNumColumns == 0) && mFooterViewInfos[(position - numHeadersAndPlaceholders - mAdapter.Count - emptyItemCount) / mNumColumns].isSelectable);
                }

                throw new System.IndexOutOfRangeException(position.ToString());
            }
예제 #5
0
            public bool IsEnabled(int position)
            {
                int numHeadersAndPlaceholders = HeadersCount * mNumColumns;

                if (position < numHeadersAndPlaceholders)
                {
                    return((position % mNumColumns == 0) && mHeaderViewInfos[position / mNumColumns].isSelectable);
                }
                int adjPosition  = position - numHeadersAndPlaceholders;
                int adapterCount = 0;

                if (mAdapter != null)
                {
                    adapterCount = mAdapter.Count;
                    if (adjPosition < adapterCount)
                    {
                        return(mAdapter.IsEnabled(adjPosition));
                    }
                }
                throw new System.IndexOutOfRangeException(position.ToString());
            }
			bool IListAdapter.IsEnabled (int position)
			{
				// Header (negative positions will throw an IndexOutOfBoundsException)
				int numHeadersAndPlaceholders = getHeadersCount() * _numColumns;
				if (position < numHeadersAndPlaceholders) {
					return position % _numColumns == 0
						&& _headerViewInfos.ElementAt(position / _numColumns).isSelectable;
				}

				// Adapter
				int adjPosition = position - numHeadersAndPlaceholders;
				int adapterCount = 0;
				if (mAdapter != null) {
					adapterCount = getAdapterAndPlaceHolderCount();
					if (adjPosition < adapterCount) {
						return adjPosition < mAdapter.Count && mAdapter.IsEnabled(adjPosition);
					}
				}

				// Footer (off-limits positions will throw an IndexOutOfBoundsException)
				int footerPosition = adjPosition - adapterCount;
				return footerPosition % _numColumns == 0
					&& _footerViewInfos.ElementAt(footerPosition / _numColumns).isSelectable;
			}
예제 #7
0
 public override bool IsEnabled(int position)
 {
     return(mAdapter.IsEnabled(position));
 }
예제 #8
0
        public override bool IsEnabled(int position)
        {
            bool isEnabled = _wrappedAdapter.IsEnabled(position);

            return(isEnabled);
        }