Thanks, will try that.

On Sep 14, 9:21 pm, Jason Proctor <[email protected]>
wrote:
> discover AsyncTask and your worries will be over :-)
>
> i do all my async stuff with it now. problem solved.
>
>
>
> >Again, I found the solution before the post made it through
> >moderation. Anyway, the workaround I found was to use a
> >android.os.Handler and use the postDelayed() function within it. If
> >anyone knows a better solution, please let me know.
>
> >On Sep 13, 3:54 pm, Felix Oghina <[email protected]> wrote:
> >>  My Activity fetches an XML from the Web, parses it and displays
> >>  information in a ListView. Everything was working fine until I decided
> >>  to do the XML fetching and parsing in a TimerTask, so that I could
> >>  show a "Loading..." message while that is happening. After lots of
> >>  debugging, I realized that the application hangs on
> >>  mListAdapter.add(mCurName), where mListAdapter is an
> >>  ArrayAdapter<CharSequence> and mCurName is a String. This instruction
> >>  worked before using a TimerTask, but now it just stops execution
> >>  without any exception or anything. I have tried creating the Timer
> >>  with both new Timer(true) and new Timer(false), but nothing seems to
> >>  work.
>
> >>  Note: the mListAdapter.add(mCurName) call is actually made in a
> >>  function within my main Activity class, which, in turn, is called from
> >>  the run() function inside the TimerTask class that is defined within
> >>  my main Activity class. Just to make sure I made sense, here's a
> >>  sketch of my code:
>
> >>  public class MyActivity extends Activity {
> >>          // vars...
> >>          protected void onCreate(Bundle savedInstanceState) {
> >>                  // stuff...
> >>                  Timer timer = new Timer(true);
> >>                  SearchTask task = new SearchTask();
> >>                  timer.schedule(task, 1);
> >>          }
> >>          public void run() {
> >>                  // stuff...
> >>                  mResultList = parseResponseXml(responseXml);
> >>                  // other stuff, but execution never reaches this point...
> >>          }
>
> >>          public class XmlHandler extends DefaultHandler {
> >>                  // vars...
> >>                  public void startElement(...) {...}
> >>                  public void characters(...) {...}
> >>                  public void endElement(String uri, String name,
> >>String qName) {
> >>                          // stuff...
> >>                          if (name == "resource") {
> >>                                  inResource = false;
> >>                                  if (inResults) { // this is where
> >>the problem is
> >>                                          Log.i("TasteKidDebug",
> >>"Before mListAdapter.add"); // this gets logged
> >>                                          mListAdapter.add(mCurName);
> >>                                          Log.i("TasteKidDebug",
> >>"After mListAdapter.add"); // this doesn't
> >>                                          mResults.add(mCurName, mCurType);
> >>                                  }
> >>                          }
> >>                          // stuff..
> >>                  }
> >>          }
>
> >>          public ResourceList parseResponseXml(String xml) throws Exception 
> >> {
> >>                  // stuff...
> >>                  XmlHandler handler = new XmlHandler();
> >>                  xr.setContentHandler(handler);
> >>                  xr.parse(new InputSource(new StringReader(xml)));
> >>                  return handler.mResults;
> >>          }
>
> >>  }
>
> --
> jason.vp.engineering.particle
--~--~---------~--~----~------------~-------~--~----~
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