2013-03-07 96 views
0

我有一個應用程序,它在啓動時與我的服務器通信並獲取一些數據。android - 連接到服務器屏幕

我想添加一些「等待窗口」到應用程序的homapage,表明這種溝通正在發生。我希望該窗口彈出,主頁的其餘部分將在後臺淡出。

如果成功獲取數據,該窗口將消失,並從那裏正常使用。如果出現錯誤,或無法建立與服務器的連接,我想提供2個選項:重試或關閉應用程序。

我的主要挑戰是該窗口彈出並使主頁在後臺淡出。任何想法如何做到這一點?

+0

那麼你的問題是什麼? – 2013-03-07 19:02:11

+0

我如何製作這樣的窗口 – user1692261 2013-03-07 19:02:53

回答

1

在執行AsyncTask期間啓動一個進度對話框,在該對話框中它從服務器獲取數據並在獲取所有數據後關閉對話框。

你的代碼可能是這樣的。

class LoadFeed extends AsyncTask<Void,Void,Void>{ 

    private Dialog progressDialog; 
    Context context; 

    public LoadFeed(Context context){ 
     progressDialog = getProgressDialog(context, "Updating Items", "Fetching updates..."); 
     this.context = context; 
    } 

    public void onPreExecute() { 
     progressDialog.show(); 
    } 

    @Override 
    protected Void doInBackground(Void... params) { 

     //fetching of data 

     return null; 

    } 

    public void onPostExecute(Void unused) { 
     progressDialog.dismiss(); 
    } 

} 

public Dialog getProgressDialog(Context context, String title, String msg){ 

    ProgressDialog dialog = new ProgressDialog(context); 
    dialog.setTitle(title); 
    dialog.setMessage(msg); 
    dialog.setIndeterminate(true); 
    dialog.setCancelable(true); 

    return dialog; 
} 
+0

「SystemHelper無法解析」。我也無法導入它。它是什麼? – user1692261 2013-03-07 19:16:52

+0

謝謝。我只是無法傳遞正確的上下文,因爲我得到'ndroid.view.WindowManager $ BadTokenException:無法添加窗口 - 標記null不適用於應用程序'我得到它時,我試着'MyActivity.getApplicationContext()' – user1692261 2013-03-07 19:46:48

+0

好吧,這很好。如果這有助於或回答你的問題,這將是一個很好的接受這個答案:) – 2013-03-07 19:52:30