I have to defend Romain here.
The gridview and/or listview is just not designed to do this. You're
trying to put a round peg in a square hole.

Maybe the decision to use a GridView for your purposes is not a good
idea, because of its design that does not fit what you need.

If all 100 cells are visible at the same time (then there's no
scrolling needed), why do you need a gridview? Maybe you should
subclass your own view and draw the 100 cells as 100 drawables (which
you can animate) yourself in its onDraw or dispatchDraw method.

On Apr 28, 2:53 pm, Illidane <illid...@gmail.com> wrote:
> Ok-ok, I gotcha what you mean.
> But with such position to developers you will never make android lead
> platform.
> Sory, if I speak the truth boldly.
>
> On 28 апр, 19:44, Romain Guy <romain...@google.com> wrote:
>
>
>
> > 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:- Hide quoted text -
>
> - Show quoted text -...
>
> read more >>
--~--~---------~--~----~------------~-------~--~----~
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