ProgressDialog不转动怎么解决myDialog = ProgressDialog.show(MainActivity.this, null,"正在连接服务器...",true,true);
                    new Thread(){                   
                        @Override                    
                        public void run() {
                            Intent intent = new Intent();
                            intent.setClass(MainActivity.this, CommodityActivity.class);
                            startActivity(intent);
                            myDialog.cancel();
                       }
                    }.start();大侠们,求解?

解决方案 »

  1.   

    要操作UI 可以使用 Handle 或者 AsyncTask
      

  2.   

    Dialog=ProgressDialog.show(LoginActivity.this,"title",".....",true);
    这样可以转
      

  3.   

    每次都重新new一个ProgressDialog
      

  4.   

    +1,说的再明确点 
    private Handler handler=new Handler();
    Runnable run=new Runnable(、
    //你的progressDialog
    );
    handler.post(run);楼主 你的 明白么?一切不再可一看到的东西都需要 用UI线程(handler)来处理 ,否则一对错误哦!
      

  5.   

     Handle 或者 AsyncTask 
     
      

  6.   

    在代码中价格sleep(50)。。或许有用。50或者改大点。
      

  7.   

    7楼的大哥,我这样还是不行啊
    myDialog = ProgressDialog.show(CommodityActivity.this, null,"正在连接服务器..", false, false);
    Handler handler = new Handler();
    Runnable mTasks = new Runnable() {
      public void run() {
    Intent intent = new Intent();
    intent.setClass(CommodityActivity.this, DetailsActivity.class);
    startActivity(intent);
    myDialog.cancel();
       }
    };

    handler.post(mTasks);
      

  8.   

    不是这个意思
    handler不是这么用的
    你定义一个handler,然后定义两个case,一个是你的progressdialog开始,一个是隐藏或者取消。
    然后你在你主函数程序里,到该开始的时候,传过去一个handler message过去,结束的时候,也是传一个过去。传的参数等于你需要的case。
    另外我不知道你这个程序是什么时候开始的,如果你只是给intent做一个progressbar,那应该看不出来的,因为他的跳转语句也就一瞬间。。
      

  9.   

    先定义Handler myhandler = new Handler() { @Override
    public void handleMessage(Message msg) { switch (msg.what) {
    case DIALOG1_KEY:
    dialog.show();
    break;
    case DIALOG2_KEY:
    dialog.dismiss();
    break;
    }
    } };
    这个是开始的
    Message message = new Message();
    message.what = DIALOG1_KEY;
    NoticeContent.this.myhandler.sendMessage(message);这个是结束的Message message = new Message();
    message.what = DIALOG2_KEY;
    NoticeContent.this.myhandler.sendMessage(message);
    DIALOG1_KEY 和 DIALOG2_KEY 是两个final的int
    这个一般都用在获取数据或者什么的,跳转用。。你是看不出来的,而且你页面跳过去了,在别的Activity里,你同样看不到啊
      

  10.   

    至于 AsyncTask  ……………… 没用过HOHO
      

  11.   

    好像只有在连接网络取数据的时候才能用
    public class HelloXML extends Activity {
        private static final int MESSAGETYPE_01 = 0x0001;
        private ProgressDialog progressDialog = null;
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                this.setContentView(R.layout.main);        
                progressDialog = ProgressDialog.show(HelloXML.this, "下载", "正在下载,请稍候!");                                
                new Thread() {
                        public void run() {                        
                                try {
                                    //   连接网络获取数据
                                } catch (Exception e) {
                                        // 在GUI显示错误提示
                                        // tv.setText("Error: " + e.getMessage());
                                }
                                Message msg_listData = new Message();
                                msg_listData.what = MESSAGETYPE_01;
                                handler.sendMessage(msg_listData);
                        }
                }.start();
                
        }    private Handler handler = new Handler() {                           public void handleMessage(Message message) {
                        switch (message.what) {
                        case MESSAGETYPE_01:                                        
                        //刷新UI,显示数据,并关闭进度条                        
                                progressDialog.dismiss(); //关闭进度条
                                break;
                        }
                }
        };
    }