No, that's not it. I misread Kaj's comment -- he hit the nail on the
head, and noticed about 1 second after I hit 'Send'...

You need to capture each one separately, either in separate local
variables, or as member variables in a Runnable subclass, or as
constants in separate anonymous Runnable.

On Feb 23, 2:20 pm, Bob Kerns <r...@acm.org> wrote:
> A wild thought: I'm wondering if you pass the same == Runnable in to
> postDelayed() if the second call perhaps actually resets the earlier
> one to a new time?
>
> It's not documented to do that, but it would fit your observed
> behavior.
>
> Instead of mWaitRunnable, try passing new Runnable() { ...} instead,
> so it's a separate instance.
>
> Slightly less efficient; your way would be preferred.
>
> On Feb 22, 9:58 pm, Michael Lam <mmingfei...@gmail.com> wrote:
>
>
>
> > hi,
>
> > i am using handle and runnables to switch/change the content of the
> > TextView using a "timer". for some reason, when running, the app
> > always skips the second step ("Step Two: fry egg"), and only show the
> > last (third) step ("Step three: serve egg").
>
> > TextView t;
> >         private String sText;
>
> >         private Handler mHandler = new Handler();
>
> >         private Runnable mWaitRunnable = new Runnable() {
> >         public void run() {
> >                 t.setText(sText);
> >         }
> >     };
>
> >         @Override
> >     public void onCreate(Bundle savedInstanceState) {
> >         super.onCreate(savedInstanceState);
>
> >         setContentView(R.layout.main);
>
> >         mMonster = BitmapFactory.decodeResource(getResources(),
> >                         R.drawable.monster1);
>
> >         t=new TextView(this);
> >                 t=(TextView)findViewById(R.id.TextView01);
>
> >                 sText = "Step One: unpack egg";
> >                 t.setText(sText);
>
> >                 sText = "Step Two: fry egg";
> >                 mHandler.postDelayed(mWaitRunnable, 3000);
>
> >                 sText = "Step three: serve egg";
> >                 mHandler.postDelayed(mWaitRunnable, 4000);
> >                 ...
>
> > }

-- 
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