Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 22/05/15, 00:36:01
Array

[xs_avatar]
portal47 portal47 no está en línea
Miembro del foro
 
Fecha de registro: jul 2012
Mensajes: 215
Modelo de smartphone: Nexus 4

Toast en Intent

Hola, estoy haciendo una app en la que si no hay Internet mando a abrir otro .class pero quiero que también aparezca un toast avisando que es porque no hay internet.

Aqui es donde mando el Intent:
[PHP]@Override
protected Void doInBackground(Void... params) {
// Create an array
arraylist = new ArrayList<HashMap<String, String>>();
// Retrieve JSON Objects from the given URL address
jsonobject = JSONfunctions.getJSONfromURL("http://cmx.org.mx/wp-content/uploads/json.txt");

if(jsonobject==null){
Intent intent = new Intent(MainActivity.this, CMX.class);
startActivity(intent);
finish();

}else{

try {
// Locate the array name in JSON
jsonarray = jsonobject.getJSONArray("posts");
for (int i = 0; i < jsonarray.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
jsonobject = jsonarray.getJSONObject(i);
// Retrive JSON Objects
map.put("title", jsonobject.getString("title"));
map.put("place", jsonobject.getString("place"));
map.put("date", jsonobject.getString("date"));
map.put("content1", jsonobject.getString("content1"));
map.put("content2", jsonobject.getString("content2"));
map.put("imagen", jsonobject.getString("imagen"));
// Set the JSON Objects into the array
arraylist.add(map);
}
} catch (JSONException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
}
return null;
}[/PHP]

ya intente poniendo el toast antes y despues del el intent y no aparece nada
Responder Con Cita


  #2  
Viejo 22/05/15, 11:48:58
Array

[xs_avatar]
joselehhh joselehhh no está en línea
Usuario muy activo
· Votos compra/venta: (3)
 
Fecha de registro: jun 2011
Localización: Toledo
Mensajes: 1,111
Modelo de smartphone: Xiaomi Redmi Note 4 global 3/32
Tu operador: Vodafone
Si quieres actualizar la UI tienes que mostrar el toast en el onPostExecute. Devuelve en el doInBackground en vez de null, un valor x dependiendo de si has ejecutado o no el intent y en el onPostExecute usa ese valor para lanzas el toast diciendo si se ha ejecutado o no el intent. Corregidme si me equivoco.

Un saludo!
__________________
Mis apps en Google Play.

Última edición por joselehhh Día 22/05/15 a las 11:53:34.
Responder Con Cita
  #3  
Viejo 22/05/15, 12:14:40
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
 Cita: Originalmente Escrito por joselehhh Ver Mensaje
Si quieres actualizar la UI tienes que mostrar el toast en el onPostExecute. Devuelve en el doInBackground en vez de null, un valor x dependiendo de si has ejecutado o no el intent y en el onPostExecute usa ese valor para lanzas el toast diciendo si se ha ejecutado o no el intent. Corregidme si me equivoco.

Un saludo!
Creo que los Toast los puedes ejecutar donde quieras, porque son llamadas al sistema independientes de la UI. Puedes "encolar" 20 Toast y después salir de la app y se mostrarán los 20 Toast encima de cualquier aplicación que vayas ejecutando.
Responder Con Cita
Gracias de parte de:
  #4  
Viejo 22/05/15, 14:04:37
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

El toast puedes llamarlo desde donde quieras sí. A mí muchas veces se me olvida llamar al método show() y me quedo un rato mosca hasta que me doy cuenta... lo comento por si acaso ;)
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 22/05/15, 16:10:06
Array

[xs_avatar]
portal47 portal47 no está en línea
Miembro del foro
 
Fecha de registro: jul 2012
Mensajes: 215
Modelo de smartphone: Nexus 4

Lo puse aqui y si funciona, justo debajo del doInBackground:

[PHP]
@ Override
protected void onPostExecute(Void args) {
// Lo cate the listview in listview_main.xml
listview = (ListView) findViewById(R.id.listview);
// Pass the results into ListViewAdapter.java
adapter = new ListViewAdapter(MainActivity.this, arraylist);
// Set the adapter to the ListView
listview.setAdapter(adapter);
// Close the progressdialog
mProgressDialog.dismiss();
if(jsonobject==null){
Toast.makeText(getApplicationContext(), "No hay conexion a internet!", Toast.LENGTH_SHORT).show();
}
}[/PHP]

Muchas gracias
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android

Herramientas


Hora actual: 22:10:52 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /