2013-03-07 2 views
0

У меня есть приложение, которое при запуске связывается с моим сервером и получает некоторые данные.android - подключиться к экрану сервера

Я хочу добавить некоторое «окно ожидания» в homapage приложения, которое указывает, что такое общение происходит. Я хочу, чтобы это окно всплыло, а остальная часть домашней страницы исчезла в фоновом режиме.

В случае успеха получения данных это окно исчезнет, ​​и оттуда это будет нормальное использование. Если произошла ошибка или невозможно установить соединение с сервером, я хочу предоставить 2 варианта: Повторить или закрыть приложение.

Моей главной задачей является то, что окно всплывает и делает домашнюю страницу выцветшей в фоновом режиме. Есть идеи, как это сделать?

+0

Каков ваш вопрос? –

+0

как я создаю такое окно – user1692261

ответ

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

+0

Спасибо. Я просто не могу передать правильный контекст, потому что я получаю 'ndroid.view.WindowManager $ BadTokenException: Невозможно добавить окно - токен null не для приложения. Я получил его, когда пытался« MyActivity.getApplicationContext() » – user1692261

+0

Хорошо, это хорошо. Если это поможет или ответит на вашу проблему, было бы хорошо принять это как ответ :) –

Смежные вопросы