Plz tell does this means really i am confused with this android.
"Right, just move your obtainMessage() inside your loop."

On Thu, Feb 3, 2011 at 2:26 PM, Miguel Morales <therevolti...@gmail.com>wrote:

> Right, just move your obtainMessage() inside your loop.
> I personally use Message.obtain(), although I'm not sure what the
> difference is.
>
> On Wed, Feb 2, 2011 at 11:45 PM, Dianne Hackborn <hack...@android.com>
> wrote:
> > You are sending the same messages into the handler while they are still
> > being dispatched.  Each message you send needs to be a new one you
> obtain.
> >
> > On Wed, Feb 2, 2011 at 8:16 PM, yogi <yogi.ru...@gmail.com> wrote:
> >>
> >> Hi all,
> >> I have created to thread in an application, and from these threads i
> >> am sending a value.
> >> But the App has started but after 5-6 seconds it crashes and with the
> >> following log error.
> >>
> >>
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684): FATAL EXCEPTION: main
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):
> >> android.util.AndroidRuntimeException: { what=1000 when=2469427 obj=4 }
> >> This message is already in use.
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.os.MessageQueue.enqueueMessage(MessageQueue.java:171)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.os.Handler.sendMessageAtTime(Handler.java:457)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.os.Handler.sendMessageDelayed(Handler.java:430)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.os.Handler.sendEmptyMessageDelayed(Handler.java:394)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.os.Handler.sendEmptyMessage(Handler.java:379)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.view.ViewRoot.scheduleTraversals(ViewRoot.java:652)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.view.ViewRoot.requestLayout(ViewRoot.java:596)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.view.View.requestLayout(View.java:8125)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.view.View.requestLayout(View.java:8125)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.view.View.requestLayout(View.java:8125)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.view.View.requestLayout(View.java:8125)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.view.View.requestLayout(View.java:8125)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.widget.TextView.checkForRelayout(TextView.java:5378)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.widget.TextView.setText(TextView.java:2688)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.widget.TextView.setText(TextView.java:2556)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.widget.TextView.setText(TextView.java:2531)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> com.demo.app.handlerapp$3.handleMessage(handlerapp.java:95)
> >> 02-03 09:40:19.598: ERROR/AndroidRuntime(1684):     at
> >> android.os.Handler.dispatchMessage(Handler.java:99)
> >>
> >> Please refer to the following code which i have written.
> >>
> >> package com.demo.app;
> >>
> >> import android.app.Activity;
> >> import android.os.Bundle;
> >> import android.os.Handler;
> >> import android.os.Message;
> >> import android.view.View;
> >> import android.view.View.OnClickListener;
> >> import android.widget.Button;
> >> import android.widget.TextView;
> >> import android.widget.Toast;
> >>
> >> public class handlerapp extends Activity implements OnClickListener{
> >>    /** Called when the activity is first created. */
> >>        @Override
> >>    public void onCreate(Bundle savedInstanceState) {
> >>        super.onCreate(savedInstanceState);
> >>        setContentView(R.layout.main);
> >>        button=(Button)findViewById(R.id.Button01);
> >>        tw=(TextView)findViewById(R.id.TextView01);
> >>        tw.setText("click button to start");
> >>        button.setOnClickListener(this);
> >>   }
> >>        @Override
> >>        public void onClick(View v) {
> >>                // TODO Auto-generated method stub
> >>        switch(v.getId()){
> >>        case R.id.Button01:
> >>                Toast.makeText(getApplicationContext(), "clicked",
> >> 2).show();
> >>                if(!th.isAlive())
> >>            th.start();
> >>                if(!th1.isAlive())
> >>                        th1.start();
> >>                break;
> >>        }
> >>
> >>        }
> >>        Thread th= new Thread(new Runnable(){
> >>
> >>                @Override
> >>                public void run() {
> >>                        // TODO Auto-generated method stub
> >>                        Message msg= handler.obtainMessage();
> >>                        for(int i=2;i<1000;i++)
> >>                        {
> >>                                try {
> >>                                        Thread.sleep(5000);
> >>                                } catch (InterruptedException e) {
> >>                                        // TODO Auto-generated catch
> block
> >>                                        e.printStackTrace();
> >>                                }
> >>                        msg.obj= i;
> >>                        msg.what=2;
> >>                        handler.sendMessage(msg);
> >>                        }
> >>
> >>                }
> >>
> >>        });
> >>        Thread th1= new Thread(new Runnable(){
> >>                @Override
> >>                public void run() {
> >>                        // TODO Auto-generated method stub
> >>                        Message msg= handler.obtainMessage();
> >>                        for(int i=2;i<1000;i++)
> >>                        {
> >>                                try {
> >>                                        Thread.sleep(3000);
> >>                                } catch (InterruptedException e) {
> >>                                        // TODO Auto-generated catch
> block
> >>                                        e.printStackTrace();
> >>                                }
> >>                        msg.obj= i;
> >>                        msg.what=1;
> >>                        handler.sendMessage(msg);
> >>                        }
> >>
> >>                }
> >>
> >>        });
> >>
> >>        Handler handler = new Handler(){
> >>                @Override
> >>                public void handleMessage(Message msg) {
> >>                        // TODO Auto-generated method stub
> >>                        super.handleMessage(msg);
> >>                        switch(msg.what){
> >>                        case 1:
> >>                                Toast.makeText(getApplicationContext(),
> >> msg.obj.toString(),
> >> 1).show();
> >>                                break;
> >>                        case 2:
> >>
> >>                                tw.setText(msg.obj.toString());
> >>                                removeMessages(msg.what, msg.obj);
> >>                        break;
> >>                        }
> >>                }
> >>
> >>    };
> >>
> >>
> >>        Button button;
> >>        TextView tw;
> >> }
> >>
> >>
> >>
> >> Thanks in Advance
> >> Regards
> >> Yogi
> >>
> >> --
> >> 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<android-developers%2bunsubscr...@googlegroups.com>
> >> For more options, visit this group at
> >> http://groups.google.com/group/android-developers?hl=en
> >
> >
> >
> > --
> > Dianne Hackborn
> > Android framework engineer
> > hack...@android.com
> >
> > 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 android-developers@googlegroups.com
> > To unsubscribe from this group, send email to
> > android-developers+unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com>
> > For more options, visit this group at
> > http://groups.google.com/group/android-developers?hl=en
>
>
>
> --
> ~ Jeremiah:9:23-24
> Android 2D MMORPG: http://developingthedream.blogspot.com/,
> http://www.youtube.com/user/revoltingx
>
> --
> 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<android-developers%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>



-- 
Regards,
Roshan

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