Hi, I had the same problem, it was gone when i removed all the @override lines above the functions of the SeparateListAdapter. So try not overriding the functions. It worked for me.
Regards, Purvi On Sep 27, 4:00 pm, Wouter <wouterg...@gmail.com> wrote: > But I declare it there and then in my runnable i do > adapter.notifyDatasetChanged so the listview knows there is other data > to show. > This works for other adapters.. Really don't know why this isn't > working. > > My listview with headers works, i can see the first header or > sometimes more but when i scroll down it crashes.. When i do for > example > > adapter.addSection("test", new cinemaAdapter(this, cinema)); it makes > 1 list with 1 header without crashing.. > > So there must be a problem with generating my header titles :s > > On 27 sep, 21:55, Marco Nelissen <marc...@android.com> wrote: > > > > > I don't see anything obviously wrong with your code. I do notice that > > you apparently create the SeparatedListAdapter and then immediately > > call setListAdapter with it, whereas the SeparatedListAdapter sample > > code creates the adapter, then adds a bunch of sections to it, and > > then calls setListAdapter at the end. Could it be that > > SeparatedListAdapter doesn't work when it is empty? Have you tried > > postponing your call to setListAdapter until after you've added all > > the sections? > > > On Sun, Sep 27, 2009 at 12:32 PM, Wouter <wouterg...@gmail.com> wrote: > > > > Ok i will try to explain how i generate my headers with the > > > seperatedlistadapter.. > > > > private SeparatedListAdapter adapter; > > > > in my setupViews functions: > > > > this.adapter = new SeparatedListAdapter(this); > > > setListAdapter(adapter); > > > > And then to retrieve my data: > > > > �...@suppresswarnings("unchecked") > > > public void retrieveCinema() > > > { > > > try { > > > HashMap<String, Object> response = > > > (HashMap<String, Object>) > > > client.call("film.retrieveCinema", sessionKey); > > > > Comparator reverse = Collections.reverseOrder(); > > > > TreeMap<String, Object> result = new > > > TreeMap<String, Object> > > > (reverse); > > > TreeMap<String, Object> sortedMap = new > > > TreeMap<String, Object> > > > (response); > > > result.putAll(sortedMap); > > > > Iterator it = result.entrySet().iterator(); > > > > while (it.hasNext()) { > > > cinema = new ArrayList<FilmDetail>(); > > > Map.Entry pairs = (Map.Entry)it.next(); > > > Object[] cinemaFilms = (Object[])pairs.getValue(); > > > FilmDetail cinemaMovie = new FilmDetail(); > > > > for (int i=0; i<cinemaFilms.length; i++) > > > { > > > cinemaMovie = new FilmDetail(); > > > Map m = (Map) cinemaFilms[i]; > > > cinemaMovie.setTitle(m.get("title").toString()); > > > cinemaMovie.setYear(m.get("year").toString()); > > > > > > cinemaMovie.setVotes_count(m.get("votes_count").toString()); > > > > > > cinemaMovie.setActors_text(m.get("actors_text").toString()); > > > cinemaMovie.setDirectors_text(m.get > > > ("directors_text").toString()); > > > > > > cinemaMovie.setGenres_text(m.get("genres_text").toString()); > > > > > > cinemaMovie.setAverage(m.get("average").toString()); > > > cinemaMovie.setFilmId(m.get("filmId").toString()); > > > > > > cinemaMovie.setDuration(m.get("duration").toString()); > > > cinema.add(cinemaMovie); > > > } > > > > String datum = pairs.getKey().toString(); > > > SimpleDateFormat formatter = new > > > SimpleDateFormat("EEEEEE d > > > MMMMMM"); > > > formatter.applyLocalizedPattern("EEEEEE d MMMMMM"); > > > int year= Integer.valueOf(datum.substring(0,4)); > > > int month = Integer.valueOf(datum.substring(5,7)); > > > int day = Integer.valueOf(datum.substring(8,10)); > > > java.util.Date date = new java.util.Date(year, > > > month, day); > > > String parsed = formatter.format(date); > > > > System.out.println(parsed); > > > > adapter.addSection(parsed, new cinemaAdapter(this, > > > cinema)); > > > > } > > > > } catch (XMLRPCException e) { > > > e.printStackTrace(); > > > } > > > runOnUiThread(returnRes); > > > > } > > > > And for every date in my response i do this > > > > adapter.addSection(parsed, new cinemaAdapter(this, cinema)); > > > > and parsed is the parsed text from date (example 31 october)) > > > > And this is how i generate it! > > > It there an error somewhere? > > > On 27 sep, 20:23, Marco Nelissen <marc...@android.com> wrote: > > >> On Sun, Sep 27, 2009 at 6:01 AM, Wouter <wouterg...@gmail.com> wrote: > > > >> > On 26 sep, 19:10, Marco Nelissen <marc...@android.com> wrote: > > >> >> On Sat, Sep 26, 2009 at 6:20 AM, Wouter <wouterg...@gmail.com> wrote: > > > >> >> > When i look at the sample from the seperatedlistadapter i see this: > > > >> >> > # @Override > > >> >> > # public void onCreate(Bundle icicle) { > > >> >> > # super.onCreate(icicle); > > >> >> > # > > >> >> > # List<Map<String,?>> security = new > > >> >> > LinkedList<Map<String,?>> > > >> >> > (); > > >> >> > # security.add(createItem("Remember passwords", "Save > > >> >> > usernames and passwords for Web sites")); > > >> >> > # security.add(createItem("Clear passwords", "Save usernames > > >> >> > and passwords for Web sites")); > > >> >> > # security.add(createItem("Show security warnings", "Show > > >> >> > warning if there is a problem with a site's security")); > > >> >> > # > > >> >> > # // create our list and custom adapter > > >> >> > # SeparatedListAdapter adapter = new SeparatedListAdapter > > >> >> > (this); > > >> >> > # adapter.addSection("Array test", new ArrayAdapter<String> > > >> >> > (this, > > >> >> > # R.layout.list_item, new String[] { "First item", "Item > > >> >> > two" })); > > >> >> > # adapter.addSection("Security", new SimpleAdapter(this, > > >> >> > security, R.layout.list_complex, > > >> >> > # new String[] { ITEM_TITLE, ITEM_CAPTION }, new int[] > > >> >> > { R.id.list_complex_title, R.id.list_complex_caption })); > > >> >> > # > > >> >> > # ListView list = new ListView(this); > > >> >> > # list.setAdapter(adapter); > > >> >> > # this.setContentView(list); > > >> >> > # > > >> >> > # } > > > >> >> > so every section is using a different layout file. So why doestn't > > >> >> > this work with me? :( > > > >> >> The specific crash you're seeing is caused by the wrong layout being > > >> >> used for a list item, that much is clear from the log. It's hard to > > >> >> say whether this is because you're using this SeparatedListAdapter > > >> >> wrong, or because there's a bug in it. With SeparatedListAdapter > > >> >> you're actually using multiple adapters (one for each section, and one > > >> >> for all the section-headers), which makes it a little harder to debug. > > >> >> You could start by adding lots of logging, so you can see what > > >> >> position it's trying to get a view for, what section and layout it > > >> >> thinks that position corresponds to and then check whether that layout > > >> >> actually has all the fields that that section's adapter needs. > > > >> >> On thing that's a bit suspicious about the code you've posted so far > > >> >> is that you appear to be assigning values (data) to the various views > > >> >> in your getView(), which is not what you would normally do. Normally > > >> >> getView only returns a layout of the correct type, and the adapter > > >> >> itself then assigns the data from the array or Cursor to the various > > >> >> views in your layout. > > > >> > Hmm, i only use on view to assign values to (R.layout.cinema_row): > > > >> You are also assigning values to a lot of the child views of that > > >> layout (all of those calls to setText). On second thought I don't > > >> think that is actually the problem though. > > >> Given where it crashed, the problem is with the adapter you specified > > >> for the section headers, which if I understand correctly is not > > >> cinemaAdapter, but some other adapter (possibly a plain ArrayAdapter) > > >> that displays dates. If you post the code for that (how do you create > > >> it), we can probably sort this out.- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---