I have one problem with customized dialog box in android,i have created the customized dialog using javainterface in android ,in my class CustomizeDialog i have one thread do some process in back ground after that i have set one imgae to this customized dialog i set the image in OnPostExecute but i got the following error
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. i know we can't access the main ui from another thread but we access the main ui in OnPostExecuted in my case that also not working , in my another class(main.class) i will call this class by CustomizeDialog customizeDialog = new CustomizeDialog(mContext); customizeDialog.show(); this my code which create dialog box public class CustomizeDialog extends Dialog implements OnClickListener { Button okButton; ImageView img = null; ImageView img2=null; ImageView img3 = null; ImageView img4= null; Bitmap bm; public CustomizeDialog(Context context) { super(context); img2 = (ImageView) findViewById(R.id.imageView1); img3 = (ImageView) findViewById(R.id.imageView3); img4 = (ImageView) findViewById(R.id.imageView4); WindowManager.LayoutParams params = getWindow().getAttributes(); params.x = 30; params.height = 500; params.width = 500; params.y = 50; this.getWindow().setAttributes(params); setContentView(R.layout.test); img = (ImageView) findViewById(R.id.imageView2); img.setBackgroundResource(R.drawable.sample); AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground(); //Start the animation (looped playback by default). frameAnimation.start(); new LongOperation1(context).execute(""); } else { Toast toast = Toast.makeText(getContext(), "Erorr", Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); toast.show(); } } private class LongOperation1 extends AsyncTask<String, String, String> { @Override protected String doInBackground(String... params) { //here i do some process return "Executed"; } @Override protected void onPostExecute(String result) { // here i do some process to get bm img2.setImageBitmap(bm); } @Override protected void onPreExecute() { } @Override protected void onProgressUpdate(String... values) { } } do any have idea about how to do this -- 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