2011-05-15 66 views
0

在活動的onCreate()中,我強制將活動的方向從縱向更改爲橫向。這是行得通的,但是仿真器有一個小的延遲。該活動實際上是其中一個選項卡。所以當用戶點擊標籤時,他會期待立即迴應。所以我想顯示一個進度對話框,直到視圖完全加載。我如何實現這一目標?我試圖做下面的但它不起作用,如何在Android應用程序中創建進度對話框

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.chart); 

    ProgressDialog dialog = new ProgressDialog(this); 
    dialog.setMessage("Loading..."); 
    dialog.show(); 

    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
    . 
    . 
    . 
    dialog.dismiss();//after the view is loaded completely } 

任何建議表示讚賞。

+0

如果您在風景中開始使用,延遲是否會發生?如果你的視圖需要很長時間才能加載,在onCreate中加載一個更簡單的視圖,然後啓動後臺任務來加載「真實」視圖,然後通過處理程序調用'setContentView(loadedChartView)'。 – 2011-05-15 02:38:11

+0

「這個工作正常,但仿真器有一小段延遲。」 - 在沒有ProgressDialog的情況下在真實設備上嘗試您的活動。我對模擬器的經驗是它經常有嚴重的滯後。 – Squonk 2011-05-15 02:49:28

+0

@Ted:是的。即使我在風景模式下開始時也有延遲。我認爲這種延遲可能是因爲,除了強制將活動定位爲風景之外,我還隱藏了標籤欄。 – sherry 2011-05-15 07:00:59

回答

0

其實,我不認爲你的應用程序是可見的但不是在onCreate()。檢查事件生命週期... onResume或onStart ......您的Acitivity實際上可見的地方就是您應該這樣做的地方。

相關問題