No, you are just making assumptions about how it should work. Nowhere
does it say that it should work the way you want it to work, that's
not how it works and that's not how it will work.

2009/4/28 Illidane <illid...@gmail.com>:
>
> To Romain Guy:
> Ok, I understood that you think that it's NOT a bug and that you
> implement it how you want it be.
> But I need to say you, that in such situation is very hard, or
> sometimes is impossible to write good, stable, beauty, useful and
> competitive apps for Android, not only for me, but for all Android
> programmers.
> And I think you know that.
>
> On 28 апр, 18:53, Romain Guy <romain...@google.com> wrote:
>> I am from the Google team (and I did implement a lot of GridView and
>> ListView) and it is NOT a bug. GridView and ListView can call
>> getView() out of order and more times than the number of views that
>> will fit on screen, depending how the Grid/ListView is measured/laid
>> out.
>>
>> 2009/4/28 yarik...@gmail.com <yarik...@gmail.com>:
>>
>>
>>
>>
>>
>>
>>
>> > I have exactly same problem. Why do we have 102 values of position
>> > when there is only 100 cells displayed on screen?
>> > "position is changed like: 0, 0, 1, 2, 3... 99, 0" - what is the cause
>> > of that? Can someone from google team answer?
>> > That seems to be a bug, very annoying bug. Answer "It's not a bug" is
>> > not answer! How do you generate position?
>>
>> > On Apr 27, 9:40 pm, Illidane <illid...@gmail.com> wrote:
>> >> There is a way to make GridView without Adapter ( e.g. something
>> >> like .addView() method ) ?
>>
>> >> On 27 апр, 21:38, Illidane <illid...@gmail.com> wrote:
>>
>> >> > My GridView shows all 100 cells on the screen ( all visible at one
>> >> > moment )
>> >> > and all the animation works fine, and pretty fast ( on all 100
>> >> > elements ),
>> >> > but than begin problems with last cell.
>> >> > Animation not child-view's. Each cell is a imageView with animation on
>> >> > it.
>>
>> >> > On 27 апр, 20:43, Streets Of Boston <flyingdutc...@gmail.com> wrote:
>>
>> >> > > It's not buggy. I use the adapters and grid/list-views in my apps and
>> >> > > they work fine. I think they are not designed for your purpose.
>>
>> >> > > e.g. If your adapter has 100 elements and the grid/list-view only
>> >> > > shows about 15 at a time on the screen, the getView is called about 15
>> >> > > times. Sometimes more times, depending whether a little bit (a few
>> >> > > pixels) of the top or bottom child-view become visible or not. Then,
>> >> > > when you start scrolling, getView gets called again and again when
>> >> > > child-views become visible and others become invisible.
>>
>> >> > > Also, seriously consider re-using the convertView for your grid- or
>> >> > > list-view. My experience is that it can really slow down your app if
>> >> > > you just return new View instances for each child-view/cell:
>> >> > > public ... getView(....) {
>> >> > >   View view = convertView != null ? convertView : createNewView(...);
>> >> > >   ...
>> >> > >   ...
>> >> > >   return view;
>>
>> >> > > }
>>
>> >> > > The implementation of the adapter+listviews does not need to rely on
>> >> > > the order in which the getView is called. As long as it is called for
>> >> > > every child-view that becomes visible.
>>
>> >> > > Isn't is possible to start a child-view's (cell's) animation when you
>> >> > > handle it the getView(...) method?
>>
>> >> > > If you really want at least 100 child-views/cells to be created (i
>> >> > > won't recommend it... it's a LOT), you can override the Adapter's
>> >> > > getViewTypeCount() and getItemViewType(int pos). Even with this, I'm
>> >> > > still not sure if getView would get called in the order you want.
>>
>> >> > > ...
>> >> > >   private static int EXPECTED_CELL_COUNT = 100;
>>
>> >> > >   public int getViewTypeCount() { return EXPECTED_CELL_COUNT; }
>> >> > >   public int getItemViewType(int pos) { return pos %
>> >> > > EXPECTED_CELL_COUNT; }
>>
>> >> > > On Apr 27, 1:07 pm, Illidane <illid...@gmail.com> wrote:
>>
>> >> > > > And you think it's not a bug? where is guarantee that it will work 
>> >> > > > in
>> >> > > > general?
>> >> > > > Where adapter takes it's magic number N?
>>
>> >> > > > On 27 апр, 19:56, Romain Guy <romain...@google.com> wrote:
>>
>> >> > > > > There is no guarantee it's going to be called N times either.
>>
>> >> > > > > 2009/4/27 Illidane <illid...@gmail.com>:
>>
>> >> > > > > > Even with convertView problem is still same - last cell is not
>> >> > > > > > animating.
>> >> > > > > > And... you said WHEN getView()... I think it's no matter, 
>> >> > > > > > matter HOW
>> >> > > > > > MANY times getView() called.
>> >> > > > > > It calls more than 100 times, whats very strange.
>> >> > > > > > For the first time it's called 102 times and all animations was
>> >> > > > > > working. For the second and next times it was 101, and last 
>> >> > > > > > animation
>> >> > > > > > was static.
>> >> > > > > > I think where is some bug regularity...
>>
>> >> > > > > > On 27 апр, 19:31, Romain Guy <romain...@google.com> wrote:
>> >> > > > > >> You should ALWAYS reuse the convertView, oherwise you're gonna 
>> >> > > > > >> eat up
>> >> > > > > >> memory and just slow down your app. And like I said, there is 
>> >> > > > > >> no
>> >> > > > > >> guarantee on how and when getView() is called so you cannot 
>> >> > > > > >> rely on it
>> >> > > > > >> with your anim counter.
>>
>> >> > > > > >> 2009/4/27 Illidane <illid...@gmail.com>:
>>
>> >> > > > > >> > I dont use convertView parametr and return new child-view.
>>
>> >> > > > > >> > Each cell has an animation. In the getView I generate an 
>> >> > > > > >> > array of
>> >> > > > > >> > animations, wich I start when the adapter stops his work ( 
>> >> > > > > >> > e.g. when
>> >> > > > > >> > my mAnimCounter == 102 ( but need be max 100, lol ) When I 
>> >> > > > > >> > run app,
>> >> > > > > >> > all 100 cells are animated. But when I re-check the field as 
>> >> > > > > >> > I need
>> >> > > > > >> > and call mGameGrid.setAdapter(mAdapter), new animations 
>> >> > > > > >> > working, but
>> >> > > > > >> > last. Last cell are NOT animated. Problem can be only in 
>> >> > > > > >> > getView and
>> >> > > > > >> > method how it works. I very doubt that it's not a bug of 
>> >> > > > > >> > GridView or
>> >> > > > > >> > Adapter.
>>
>> >> > > > > >> > On 27 апр, 18:59, Streets Of Boston 
>> >> > > > > >> > <flyingdutc...@gmail.com> wrote:
>> >> > > > > >> >> The child/item-views in list-views and grid-views are 
>> >> > > > > >> >> re-used
>> >> > > > > >> >> (convertView input parameter). I suspect that depending on 
>> >> > > > > >> >> the layout/
>> >> > > > > >> >> measurements/visibility of the child-views and the way you 
>> >> > > > > >> >> implement
>> >> > > > > >> >> getView (re-using convertView or ignoring it and returning 
>> >> > > > > >> >> a brand-new
>> >> > > > > >> >> child-view every time), the order in which these 
>> >> > > > > >> >> child-views are
>> >> > > > > >> >> called (value of 'position' parameter in the getView 
>> >> > > > > >> >> method) can be
>> >> > > > > >> >> random.
>>
>> >> > > > > >> >> On Apr 27, 11:30 am, Illidane <illid...@gmail.com> wrote:
>>
>> >> > > > > >> >> > Why number of getView calls is different??
>> >> > > > > >> >> > One time it's 102 ( but need to be 100 ) and the second 
>> >> > > > > >> >> > and greater is
>> >> > > > > >> >> > 101.
>>
>> >> > > > > >> >> > On 27 апр, 18:15, Romain Guy <romain...@google.com> wrote:
>>
>> >> > > > > >> >> > > It's not a bug. There's no guarantee in the order of 
>> >> > > > > >> >> > > the calls wrt to
>> >> > > > > >> >> > > the position value. It also depends on how the GridView 
>> >> > > > > >> >> > > is
>> >> > > > > >> >> > > measured/laid out.
>>
>> >> > > > > >> >> > > On Mon, Apr 27, 2009 at 6:38 AM, Illidane 
>> >> > > > > >> >> > > <illid...@gmail.com> wrote:
>>
>> >> > > > > >> >> > > > Hi,
>> >> > > > > >> >> > > > I'm using GridView in my app, and myAdapter ( extends 
>> >> > > > > >> >> > > > BaseAdapter) for
>> >> > > > > >> >> > > > it. I have overrited method getView(int position, 
>> >> > > > > >> >> > > > View convertView,
>> >> > > > > >> >> > > > ViewGroup parent) of Adapter and 100 cells in 
>> >> > > > > >> >> > > > GridView.
>>
>> >> > > > > >> >> > > > If I set logger:
>> >> > > > > >> >> > > > android.util.Log.w("bla", (new StringBuilder()).append
>> >> > > > > >> >> > > > (position).toString()); where is in the getView then 
>> >> > > > > >> >> > > > I'll see that
>> >> > > > > >> >> > > > position is changed like: 0, 0, 1, 2, 3... 99, 0. 
>> >> > > > > >> >> > > > -WTF? ( thats for
>> >> > > > > >> >> > > > the first time) and then I call 
>> >> > > > > >> >> > > > mGameGrid.setAdapter(mAdapter) and
>> >> > > > > >> >> > > > position is going: 0, 0, 1, 2, 3...99.
>> >> > > > > >> >> > > > I think it's a bug of BaseAdapter, isn't it?
>>
>> >> > > > > >> >> > > --
>> >> > > > > >> >> > > Romain Guy
>> >> > > > > >> >> > > Android framework engineer
>> >> > > > > >> >> > > romain...@android.com
>>
>> >> > > > > >> >> > > 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- Hide quoted text -
>>
>> >> > > > > >> >> > - Show quoted text -
>>
>> >> > > > > >> --
>> >> > > > > >> Romain Guy
>> >> > > > > >> Android framework engineer
>> >> > > > > >> romain...@android.com
>>
>> >> > > > > >> 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
>> >> > > > > romain...@android.com
>>
>> >> > > > > 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- Hide 
>> >> > > > > quoted text -
>>
>> >> > > > - Show quoted text -
>>
>> --
>> Romain Guy
>> Android framework engineer
>> romain...@android.com
>>
>> 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
romain...@android.com

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 Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to