2011-09-10 62 views
0

在我的应用程序中I M试图获取来自服务器的数据,并在数据库中存储。 当它做当时progressdialog所有这些工作,我想应该显示,如果再成功的数据获取对话框应该关闭和一些alertDialog应该显示消息“成功取出数据”。如果有任何不适当的问题,那么它应该显示不同的味精,即“不适用的问题”。Android的问题,进度对话框

为我做类似下面,

public void onClick(View arg0) { 
       myProgressDialog = ProgressDialog.show(
         getParent(), "Please wait...", 
         "Doing upgrade...", true); 
       new Thread() { 
        public void run() { 
         try { 

         upgradeAll();//function where data fetched from server 

          sleep(5000); 

         } catch (Exception e) { 
         } 
         // Dismiss the Dialog 

         myProgressDialog.dismiss(); 


         Toast.makeText(UpgradeAllTableData.this, "Due to some internal problem \n" + 
           "it couldnot update..", Toast.LENGTH_LONG).show(); 
        } 

       }.start(); 
      } 

的AsyncTask代码,

private class UpgradeTask extends AsyncTask<Context, Void, Void> { 
     private ProgressDialog Dialog = new ProgressDialog(UpgradeAllTableData.this); 

     @Override 
     protected void onPreExecute() { 
      System.out.println("In onPreExecute "); 
      Dialog.setTitle("Loading"); 
      Dialog.setMessage("Please wait for few seconds..."); 
      Dialog.show(); 
     } 

     @Override 
     protected Void doInBackground(Context... params) { 
      System.out.println("In doInBackground "); 

      upgradeAll(); 

      System.out.println("In doInBackground after fetching"); 
      return null; 
     } 

     @Override 
      protected void onPostExecute(Void unused) { 

      System.out.println("In onPostExecute "); 
      Dialog.dismiss(); 

      Toast.makeText(UpgradeAllTableData.this, "Problem with internet" , Toast.LENGTH_SHORT).show(); 
      alertboxNeutral("Warning", "Problem with Internet Connection", "Okay","Try again"); 

     } 
    } 

问题是吐司没有显示。为什么?

我的问题是条件,并在那里给它,这样,如果有n任何问题/ W则表现出一定的味精和良好的话,显示另一个味精。

,我应该为写代码? 给我一些建议。

谢谢

回答

1

不完全解答您的特定问题,但你考虑的AsyncTask?它的设计非常适合处理像你这样的情况,任务在异步时执行,同时在UI线程上显示一些进度(和最终结果)。或者,您可以广播一个意图,并让您的活动抓住它来显示敬酒,因为您的敬酒也应该从您的UI线程中显示。

更新: 的AsyncTask参考 - http://developer.android.com/reference/android/os/AsyncTask.html

+0

我这样做,用的AsyncTask。但它不正确。这就是为什么我尝试与线程。 – Jyosna

+0

您可能使用AsyncTask错误,更好地发布有关您的AsyncTask实现无法正常工作的答案。或者你总是可以使用建议的意图解决方案,以使UI线程有机会显示Toast。但我强烈建议你使用AsyncTask。 –

+0

我会给我的asynctask代码。只是检查我哪里错了? – Jyosna