Avisos

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 26/11/14, 23:43:57
Array

[xs_avatar]
Zephys Zephys no está en línea
Usuario poco activo
 
Fecha de registro: nov 2011
Localización: Vigo
Mensajes: 27
Modelo de smartphone: Xperia SP
Tu operador: Vodafone
Como generar un toast al seleccionar en un Spinner

Buenas tardes. Estoy comenzando en la programación android y me encuentro con bastantes problemas. El problema principal es que intento que se genere un toast al seleccionar una opcion en un spinner. Consigo que se lance si se pulsa un boton, pero la idea es que al seleccionar la opcion en el spinner lance el toast directamente con un mensaje como "has seleccionado x". El codigo de la activitie es:



<LinearLayout xmlns:android= "http:schemas.android.comapkresandroid"
xmlns:tools= "http:schemas.android.comtools"
android:layout_width= "match_parent"
android:layout_height= "match_parent"
androidrientation= "vertical" >

<Spinner
android:id= "@+idspin_planetas"
android:layout_width= "wrap_content"
android:layout_height= "wrap_content"
android:entries= "@arrayplanetas" >

<Button
android:id= "@+idbtn_seleccion"
android:layout_width= "wrap_content"
android:layout_height= "wrap_content"
androidnClick= "onButtonClick"
android:text= "Preme cando selecciones" >

<TextView
android:id= "@+idlbl_resultado"
android:layout_width= "wrap_content"
android:layout_height= "wrap_content"
android:text= "Selecciona un planeta" >

<LinearLayout>


El codigo del array sería:



<?xml version= "1.0" encoding= "utf-8" ?>
<resources>
<string-array name= "planetas" >
<item>Mercurio <item>
<item>Venus <item>
<item>Terra <item>
<item>Marte <item>
<item>Xúpiter <item>
<item>Saturno <item>
<item>Urano <item>
<item>Neptuno <item>
<string-array>
<resources>
Y el codigo que tengo hasta ahora en java es:

package com.example.u2_12_spinner ;

import android.app.Activity ;
import android.os.Bundle ;
import android.view.Menu ;
import android.view.View ;
import android.widget.AdapterView ;
import android.widget.AdapterView.OnItemSelectedListener ;
import android.widget.Spinner ;
import android.widget.TextView ;

public class U2_12_Spinner extends Activity {

@Override
protected void onCreate (Bundle savedInstanceState ) {
super. onCreate (savedInstanceState ) ;
setContentView (R. layout. activity_u2_12__spinner ) ;

Spinner spinPlanetas = (Spinner ) findViewById (R. id. spin_planetas ) ;

spinPlanetas. setOnItemSelectedListener ( new OnItemSelectedListener ( ) {

@Override
public void onItemSelected (AdapterView <?> parent, View view,
int pos, long id ) {
TODO Auto-generated method stub

TextView lblResultado = (TextView ) findViewById (R. id. lbl_resultado ) ;

lblResultado. setText ( "Seleccionaches "
+ parent. getItemAtPosition (pos )
+ " que está na posición " + pos ) ;

}

@Override
public void onNothingSelected (AdapterView <?> arg0 ) {
TODO Auto-generated method stub

}
} ) ;
}

@Override
public boolean onCreateOptionsMenu ( Menu menu ) {
Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater ( ). inflate (R. menu. u2_12__spinner, menu ) ;
return true ;
}

public void onButtonClick ( View v ) {
Spinner spinPlanetas = (Spinner ) findViewById (R. id. spin_planetas ) ;
TextView lblResultado = (TextView ) findViewById (R. id. lbl_resultado ) ;

lblResultado. setText ( "Seleccionaches " + spinPlanetas. getSelectedItem ( )
+ " que está na posición " + spinPlanetas. getSelectedItemId ( ) ) ;
}

}
Lo que hace está aplicación hasta ahora es que cuando seleccionamos una opcion en el spinner escribe un mensaje indicando que nombre has elegido y la posición en la que se encuentra en el spinner. Ahora me gustaría que por ejemplo devuelva el mensaje "Has seleccionado X" pero en un toast.

Alguien sabe como solucionarlos? Muchas gracias por adelantado.
Responder Con Cita


  #2  
Viejo 27/11/14, 03:28:00
Array

[xs_avatar]
JamesRevelo JamesRevelo no está en línea
Usuario poco activo
 
Fecha de registro: oct 2014
Mensajes: 29
Tu operador: Movistar

Te refieres a esto:

Código:
Toast.makeText(this, "Tu texto", Toast.LENGH_SHORT).show();
__________________
Desarrollador Android
http://www.hermosaprogramacion.com/
Responder Con Cita
  #3  
Viejo 27/11/14, 11:35:09
Array

[xs_avatar]
Zephys Zephys no está en línea
Usuario poco activo
 
Fecha de registro: nov 2011
Localización: Vigo
Mensajes: 27
Modelo de smartphone: Xperia SP
Tu operador: Vodafone
Si, ese es el codigo del toast, el problema que tengo es que no se como aplicarlo a mi codigo para que al hacer una selección en el spinner salga el toast directamente.
Responder Con Cita
  #4  
Viejo 27/11/14, 12:54:59
Array

[xs_avatar]
Dexafree Dexafree no está en línea
Mr. FAQMan
· Votos compra/venta: (1)
 
Fecha de registro: dic 2008
Mensajes: 8,021
Modelo de smartphone: Samsung Galaxy S i9000 + Galaxy Tab 10.1 WiFi
Tu operador: Movistar
Antes de leer la respuesta estaría bien que comprendieras por qué se hace cada cosa.

Además, si vas a publicar código en el foro te recomiendo que lo hagas utilizando las etiquetas [ CODE], de modo que quede debidamente formateado

Dicho esto, en el código

Código:
Spinner spinPlanetas = (Spinner ) findViewById (R.id.spin_planetas ) ;
Estás guardando en la variable spinPlanetas la View del spinner como tal, y a partir de ahí en el siguiente código le asignas el listener.

Código:
spinPlanetas. setOnItemSelectedListener ( new OnItemSelectedListener ( ) {

    // Este método es llamado cuando se selecciona un item en el spinner
    @Override
    public void onItemSelected (AdapterView <?> parent, View view,int pos, long id ) {
    
    // Aquí te estás guardando un TextView donde mostrarás el resultado
    TextView lblResultado = (TextView ) findViewById (R.id.lbl_resultado ) ;

     // Aquí, al TextView que acabas de guardarte, le asignas el item seleccionado
     lblResultado. setText ( "Seleccionaches "
        + parent. getItemAtPosition (pos )
        + " que está na posición " + pos ) ;

        // Por tanto, aquí es donde deberías poner tu Toast

    }

    @Override
    public void onNothingSelected (AdapterView <?> arg0 ) {
        // TODO Auto-generated method stub

    }
} ) ;
Responder Con Cita
  #5  
Viejo 28/11/14, 10:42:58
Array

[xs_avatar]
Zephys Zephys no está en línea
Usuario poco activo
 
Fecha de registro: nov 2011
Localización: Vigo
Mensajes: 27
Modelo de smartphone: Xperia SP
Tu operador: Vodafone
Resulta que realmente estaba poniendo bien el toast, pero no estaba definiendo las variables ni los nombres correctamente, por eso no generaba el toast correctamente. Muchas gracias por la ayuda.
Responder Con Cita
Respuesta

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



Hora actual: 23:46:08 (GMT +2)



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

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