I don't know how soon I'll be able to do that but something that is a
few steps easier is for Google and AOSP to release a tag of the Java
code used in the simulators.

On Feb 23, 8:59 pm, fernando <[email protected]> wrote:
> i can't see what could be wrong, except if the notifyDataSetChanged is
> overridden in your adapter, then somewhere in your adapter you need to
> call super.notifyDataSetChanged.
> If that's not true that would be really useful to step into the
> frameworks code to undestand what's wrong.  You'll need a linux
> machine/box or mac, get the android open source code setup the
> building environment, compile the sdk, run the compiled emulator and
> debug on it.  For the debugging environment, use Eclipse and ADT,
> create a plain Java project, link the frameworks/base/core/java
> directory after you get the open source code (contains the listview
> source code). (You'll be installing your apk into the compiled
> emulator ). Then, link this project to your application's project and
> debug your application.   Then press F5 to step into the list :-)
>
> http://android.git.kernel.org/   -> on the top of the page, shows how
> to get the git repositoryhttp://source.android.com/source/download.html    
> ->instructions to
> setup the environment and compile the 
> sdkhttp://source.android.com/source/git-repo.html    -> git basic
> instructions.
> you can use the "sun virtual box"  to host linux if you have a windows
> computer
>
> Besides the time spent to download the tools (linux, python, java,
> etc, virtual box, etc) the open source code and compilation (which you
> can let it doing), it should take less than 2 hours of work to do all
> of it.
>
> I hope you can find what's going on as quick as possible.  Then tell
> us what happened (I'm curious)
>
> thanks
> - Fernando
>
> On Feb 23, 6:20 pm, Dan <[email protected]> wrote:
>
>
>
>
>
>
>
> > I have been working on a similar issue to this.  The application is
> > uses a ListActivity from a Library Project. This Library Project can
> > also be configured to be its own application (refactoring is in
> > progress).  The ListActivity works well when its project is used as an
> > application. However the ListView is always empty when it is used from
> > a library project.  The only difference is the data to be displayed.
> > I have tried different Adapters, with Maps and Cursors and using
> > setAdapter(), none of these have worked.
>
> > I am working on API level 7. My attempts at a test application has not
> > resulted in a replication of this bug. I am banging my head against
> > the wall here. It would help to be able to debug into the framework to
> > see what I am doing wrong.
>
> > -Dan
>
> > On Jan 25, 10:33 pm, Brill Pappin <[email protected]> wrote:
>
> > > I should mention this is on a Nexus One with aOS 2.2.2 in case that
> > > matters.
>
> > > Yes, I looked all over that code and even down into AsbListView.
> > > It actually registers an internal instance member with the adapter,
> > > and the notify call does seem to make it to the observer as far as I
> > > can see, but there doesn't seem to be any code that connected the
> > > observer and the ListView.
>
> > > I was digging down that far in the first place because I was sure
> > > (three times over, I rewrote it from scratch three times using
> > > different examples and tutorials besides my first attempt from memory)
> > > that I had correctly implemented the Adapter and set it on the
> > > ListView. The list view simply never called the adapter after the
> > > notify method was called. I know that because I used the basic print-
> > > to-log when called technique of tracing the calls. The Adapter would
> > > get properly called when first set on the ListView but after that no
> > > amount of data change and notify calls would cause it to re-read the
> > > adapter, which is what I expect it to do if I notify it that my data
> > > has changed.
>
> > > I the end I simply created a new adapter and reset it on the ListView,
> > > which seems to be working, however that's broken IMO.
>
> > > I think the next step should be that I write up a quick demo app that
> > > attempts replicate the problem. If it doesn't do anything except
> > > demonstrate what I'm seeing, then it should allow others to test as
> > > well.
> > > I'll see if I can make time tomorrow for that.
>
> > > BTW - That link seems to not be visible to me :) must be on your
> > > internal network.
>
> > > - Brill Pappin
>
> > > On Jan 26, 12:35 am, Dianne Hackborn <[email protected]> wrote:
>
> > > > AsbListView and ListView call registerDataSetObserver() on the adapter.
> > > >  BaseAdapter.notifyDataSetChanged() does the notification to whoever is
> > > > registered with it.
>
> > > > Here is working code, the Running Services UI in settings, that 
> > > > implements a
> > > > BaseAdapter and uses notifyDataSetChanged() to tell the list view when 
> > > > its
> > > > contents change:
>
> > > >http://android.git.kernel.org/?p=platform/packages/apps/Settings.git;...
>
> > > > On Tue, Jan 25, 2011 at 8:37 PM, Brill Pappin <[email protected]> wrote:
> > > > > I just searched the forums, and apparently this is a common problem.
>
> > > > > ListView with a custom adapter based on BaseAdapter.
> > > > > Its backed by a List object.
>
> > > > > The problem is that updating the data and calling 
> > > > > notifyDataSetChanged();
> > > > > does nothing.
> > > > > I have modified the adapter so that ever method that is called in it 
> > > > > prints
> > > > > itself to the console.
>
> > > > > my adapter has a method that does the update of the contents and 
> > > > > attempts
> > > > > to notify:
>
> > > > > public void updateData(List<Event> data) {
>
> > > > >  this.data.clear();
>
> > > > >  this.data.addAll(data);
>
> > > > >  notifyDataSetChanged();
>
> > > > > }
>
> > > > > The problem is that after notifyDataSetChanged() is called, the list 
> > > > > never
> > > > > calls any other methods, not even getCount().
>
> > > > > My data has changed, and i've notified ListView that it has, yet it 
> > > > > still
> > > > > refuses to update.
>
> > > > > After some investigation in the OS source, I don't see where the 
> > > > > observer
> > > > > in the list actually tells the list to update.
>
> > > > > It seems the only way to get the list to update its elements is to 
> > > > > re-set
> > > > > the adapter on it with the new element set.
>
> > > > > Now I've seen many threads in the group saying that they user was 
> > > > > doing
> > > > > something wrong... but I don't see how the notify is going to update 
> > > > > the
> > > > > list period (change or no change).
>
> > > > > So, I think i'm dealing with a bug here.
>
> > > > > Can someone actually find the code that does the update in the 
> > > > > ListVIew
> > > > > when adapters notifyDataSetChanged() is called?
>
> > > > > - Brill Pappin
>
> > > > > --
> > > > > You received this message because you are subscribed to the Google
> > > > > Groups "Android Developers" group.
> > > > > To post to this group, send email to 
> > > > > [email protected]
> > > > > To unsubscribe from this group, send email to
> > > > > [email protected]<android-developers%2Bunsubs
> > > > >  [email protected]>
> > > > > For more options, visit this group at
> > > > >http://groups.google.com/group/android-developers?hl=en
>
> > > > --
> > > > Dianne Hackborn
> > > > Android framework engineer
> > > > [email protected]
>
> > > > Note: please don't send private questions to me, as I don't have time to
> > > > provide private support, and so won't reply to such e-mails.  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 [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-developers?hl=en

Reply via email to