Home Menu

Menu



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


 
Herramientas
  #1  
Viejo 22/05/15, 00:36:01
Avatar de portal47
portal47 portal47 no está en línea
Miembro del foro
Mensajes: 215
 
Fecha de registro: jul 2012
Mensajes: 215
Modelo de smartphone: Nexus 4
Mencionado: 1 comentarios
Tagged: 1 hilos
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
Avatar de joselehhh
joselehhh joselehhh no está en línea
Usuario muy activo
Mensajes: 1,111
Compra y venta: (3)
 
Fecha de registro: jun 2011
Localización: Toledo
Mensajes: 1,111
Modelo de smartphone: Xiaomi Redmi Note 4 global 3/32
Versión de ROM: 7.0
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 2 hilos
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!

Ú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
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
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 ;)
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 22/05/15, 16:10:06
Avatar de portal47
portal47 portal47 no está en línea
Miembro del foro
Mensajes: 215
 
Fecha de registro: jul 2012
Mensajes: 215
Modelo de smartphone: Nexus 4
Mencionado: 1 comentarios
Tagged: 1 hilos
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   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 23:35:00 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007