Как показать статус «Загрузка» в Android?

Я делаю приложение для Android, и он должен загружать некоторые данные, хотя Интернет (только некоторые данные – не все). Поэтому, когда данные загружаются, а подключение к Интернету происходит медленно, я хочу показать пользователю значок «Загрузка …».

Итак, как я могу это сделать? Показывать значок «Загрузка …», когда данные загружаются в фоновом режиме, и когда он полностью загружен, скройте значок?

Заранее спасибо!

Используйте Async Task для вашего статуса.

new SomeTask(0).execute(); /** Inner class for implementing progress bar before fetching data **/ private class SomeTask extends AsyncTask<Void, Void, Integer> { private ProgressDialog Dialog = new ProgressDialog(yourActivityClass.this); @Override protected void onPreExecute() { Dialog.setMessage("Doing something..."); Dialog.show(); } @Override protected Integer doInBackground(Void... params) { //Task for doing something return 0; } @Override protected void onPostExecute(Integer result) { if(result==0) { //do some thing } // after completed finished the progressbar Dialog.dismiss(); } } 

Используйте AsyncTask вместе с диалоговым окном прогресса по завершению задачи. Это сделает ..

Используйте asynctask для фоновых операций, затем отобразите диалог выполнения, как показано ниже.

  private class ProgressTask extends AsyncTask<String, Void, Boolean> { private ProgressDialog dialog; List<Message> titles; private ListActivity activity; //private List<Message> messages; public ProgressTask(ListActivity activity) { this.activity = activity; context = activity; dialog = new ProgressDialog(context); } /** progress dialog to show user that the backup is processing. */ /** application context. */ private Context context; protected void onPreExecute() { this.dialog.setMessage("Progress start"); this.dialog.show(); } @Override protected void onPostExecute(final Boolean success) { List<Message> titles = new ArrayList<Message>(messages.size()); for (Message msg : messages){ titles.add(msg); } MessageListAdapter adapter = new MessageListAdapter(activity, titles); activity.setListAdapter(adapter); adapter.notifyDataSetChanged(); if (dialog.isShowing()) { dialog.dismiss(); } if (success) { Toast.makeText(context, "OK", Toast.LENGTH_LONG).show(); } else { Toast.makeText(context, "Error", Toast.LENGTH_LONG).show(); } } protected Boolean doInBackground(final String... args) { try{ BaseFeedParser parser = new BaseFeedParser(); messages = parser.parse(); return true; } catch (Exception e){ Log.e("tag", "error", e); return false; } } } 

}

В методе onCreate:

 WebView mWebView; ProgressDialog pgDiagWebView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webview); pgDiagWebView = ProgressDialog.show(CreateAccountWebView.this, "Loading", "Wait", true); mWebView = (WebView) findViewById(R.id.registerWebView); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.setWebViewClient(new ResgisterWebViewClient()); mWebView.loadUrl("http://www.google.com/"); } class ResgisterWebViewClient extends WebViewClient { @Override public void onPageFinished(WebView view, String url) { // TODO Auto-generated method stub super.onPageFinished(view, url); pgDiagWebView.dismiss(); } }