¿Cómo mostrar el estado de "Cargando" en Android?
Estoy haciendo una aplicación de Android y tiene que cargar algunos datos a través de Internet (sólo algunos datos – no todos). Así que cuando los datos se están cargando y la conexión a Internet es lenta, quiero mostrar un icono "Cargando …" al usuario.
Entonces, ¿cómo puedo hacer esto? Mostrar un icono "Cargando …" mientras los datos se están cargando en segundo plano, y cuando está completamente cargado, ocultar el icono?
- Obtener números de EditText
- ¿Puedo configurar el tiempo de espera de getaddrinfo en Android para DefaultHttpClient?
- OnCreateView Fragmento no llamado
- Android: copia los recursos en el almacenamiento interno
- Los servicios de juegos de Google Play logran desbloqueo: desbloquear tienda en juego o desbloquear (?) Cada vez.
¡Gracias por adelantado!
- Android.view.inflateexception binario archivo xml línea # 1 error inflar clase android.widget.relativeLayout
- El codificador MediaCodec H264 no funciona en los dispositivos Snapdragon 800
- Android Bluetooth para conectar otro dispositivo bluetooth
- ¿Cómo hacer una devolución de llamada después de que la vista esté completamente renderizada?
- Calendario de Android, obtener ID de evento
- Obtener las líneas de GL10 dibujo de imágenes junto a la otra, la solución?
- Analytic dispatcher y gestión de configuración para uso personalizado
- Java.lang.RuntimeException: No se puede instanciar la actividad ComponentInfo {...}: java.lang.ClassNotFoundException: No encontró la clase
Utilice Async Task para su estado.
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(); } }
Utilice AsyncTask junto con el diálogo de progreso en la finalización de tareas .. Eso lo hará ..
Utilice asynctask para las operaciones de fondo, luego muestre el diálogo de progreso como a continuación
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; } } }
}
En el método 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(); } }