2012-03-20 72 views
0

我真的在搜索如何在我的活動開始時顯示加載「Main」,但同時此活動必須致電一些功能,所以我用這個代碼:使用ProgressDialog在活動開始時的「主要」功能有幾個功能

ProgressDialog bar; 

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     loading(); 
} 


private void loading() { 
      bar = ProgressDialog.show(this, "Please wait", 
        "Long operation starts...", true); 

      new Thread((new Runnable() { 
       @Override 
       public void run() { 
        bar.setMessage("Loading..."); 
        initLocalisation(); 
         initTabhost(); 
       } 
      })).start(); 
    } 

public void msgbox(String str) { 
     Toast.makeText(this, str, Toast.LENGTH_SHORT).show(); 
    } 

事實上它顯示我以下錯誤:

FATAL EXCEPTION: Thread-99 
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 
at android.os.Handler.<init>(Handler.java:121) 
at android.widget.Toast$TN.<init>(Toast.java:317) 
at android.widget.Toast.<init>(Toast.java:91) 
at android.widget.Toast.makeText(Toast.java:233) 
at com.main.Main.msgbox(Main.java:519) 
at com.main.Main.updateWithNewLocation(Main.java:148) 
at com.main.Main.initLocalisation(Main.java:204) 
at com.main.Main$4.run(Main.java:172) 
at java.lang.Thread.run(Thread.java:856) 

回答