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 For more options, visit this group at http://groups.google.com/group/android-developers?hl=en