private Button.OnClickListener testBtn = new Button.OnClickListener(){
        public void onClick(View v){
                
        }
};
我在上面的那个按钮监听里面,会有很多的if,else if,网络连接等操作,当我点击按钮的时候,界面就一直卡在那里,要过一段时间才能反应过来。我想在等待的那段时间显示ProgressDialog,该怎么加?我已经有一个ProgressDialog的方法:
private void showProgressDialog(){
        if(pd == null)
                pd = new ProgressDialog(MainActivity.this);
                pd.setMessage("正在查询,请稍后...");
                pd.setIndeterminate(true);
                pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
                pd.show();
}
应该在哪里添加这个方法?在哪里执行pd.dismiss()?求大神给出例子,最好能用到handler。

解决方案 »

  1.   

    1楼的方法可行呀,试试呗,上网找个例子看看怎么用就知道了
    你处理按钮onclick事件的时候要调用 new AsycTask().execute()类似这样的方法 
      

  2.   

    是不是可以在监听到点击按键后 跑一个runnable()来运行processdialog,然后当你需要的处理结束后再callback这个线程,你可参考下计时,实现基本一样的
      

  3.   

    首先在按钮监听里:
    dialog.show();
    new Thread()
    {
    public void run()
    {
    //这里耗时操作
    handler.sendEmptyMessage(0);
    };
    }.start();然后在外边:
    Handler handler = new Handler()
    {
    @Override
    public void handleMessage(Message msg)
    {
    // TODO Auto-generated method stub
    switch (msg.what)
    {
    case 0:
    break;
    }
    }
    };