It is clear given its name (but unfortunately not documented).

Index = index of a view inside the gallery
Position = index of an item inside the adapter

Note the use of the words "index" and "position." They do not mean the
same thing.

On Mon, Sep 14, 2009 at 1:48 PM, Tikoze <[email protected]> wrote:
>
>>pointToPosition() does exactly what it was meant to do: it converts a
>> point to a position, that is an index inside your adapter
>
> I never said it didn't, once I understood its purpose.  It just wasn't
> clearly documented that it returns an index to the adapter (which is a
> different object) and I don't think it is a clear choice to have that
> be the return value when the Gallery itself displays Views that are a
> subset of the adapter.  If the documentation stated that was the case,
> or if the method name were a little more clear (perhaps
> pointToAdapterPosition) then the purpose of the method would be more
> obvious.  Since the method is on the Gallery class I expected the
> return value to be pertinent to its particular instance, not to the
> instance of the adapter that is associated with it.
>
>> And it would be a terrible API on the Adapter itself.
>
> Point taken.
>
> On Sep 14, 2:13 pm, Romain Guy <[email protected]> wrote:
>> pointToPosition() does exactly what it was meant to do: it converts a
>> point to a position, that is an index inside your adapter. And it
>> would be a terrible API on the Adapter itself.
>>
>> To get the index of a view using pointToPosition() just subtract
>> getFirstVisiblePosition().
>>
>> On Mon, Sep 14, 2009 at 1:01 PM, Justin Anderson
>>
>>
>>
>> <[email protected]> wrote:
>> > I think we are going to have to agree to disagree on this one.  :)
>>
>> >> You are confusing views and items from the adapter.
>>
>> > I don't believe I am.  Initially I did not realize that theGalleryonly has
>> > visible items as children.  I understand that now.  AFAICT, this was not
>> > documented anywhere...  Hence the confusion.
>>
>> >> > If I have 20 items, and scroll to the 16th... then that means items 14 -
>> >> > 18
>> >> > are visible.  Which in turn means that according to thegallerythe item
>> >> > at
>> >> > position 0 is really the 14th and the item at position 5 is really the
>> >> > 18th?  If that is the case, what can I do to get the view I want?
>>
>> >> No, it means the View at index 0 shows the data of the item at
>> >> position 14 in your adapter.
>>
>> > That is what I meant... I just didn't describe it as well as you did.
>>
>> > I believe that since thegallerydeals with displaying views and the
>> > pointToPosition() method deals with a point on the screen that it should
>> > return the index of the view at that point, rather than the index of the
>> > data array.  I think it would be better to have that functionality on the
>> > adapter, rather than thegallery.
>>
>> > Thank you for your help.  It has helped me understand how things work and I
>> > now know how to proceed to get the results I want.
>>
>> > Thanks,
>> > Justin
>>
>> > On Mon, Sep 14, 2009 at 1:25 PM, Romain Guy <[email protected]> wrote:
>>
>> >> You are confusing views and items from the adapter.
>>
>> >> > If I have 20 items, and scroll to the 16th... then that means items 14 -
>> >> > 18
>> >> > are visible.  Which in turn means that according to thegallerythe item
>> >> > at
>> >> > position 0 is really the 14th and the item at position 5 is really the
>> >> > 18th?  If that is the case, what can I do to get the view I want?
>>
>> >> No, it means the View at index 0 shows the data of the item at
>> >> position 14 in your adapter. You can use getFirstVisiblePosition() to
>> >> convert back and forth between index and positions.
>>
>> >> --
>> >> Romain Guy
>> >> Android framework engineer
>> >> [email protected]
>>
>> >> Note: please don't send private questions to me, as I don't have time
>> >> to provide private support.  All such questions should be posted on
>> >> public forums, where I and others can see and answer them
>>
>> --
>> Romain Guy
>> Android framework engineer
>> [email protected]
>>
>> Note: please don't send private questions to me, as I don't have time
>> to provide private support.  All such questions should be posted on
>> public forums, where I and others can see and answer them
> >
>



-- 
Romain Guy
Android framework engineer
[email protected]

Note: please don't send private questions to me, as I don't have time
to provide private support.  All such questions should be posted on
public forums, where I and others can see and answer them

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Beginners" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to