Diferencia entre revisiones de «Toast»

De MediaWiki
Ir a la navegación Ir a la búsqueda
(Página creada con «==Introdución== *Un '''Toast''' proporciona un simple feedback de algo que pasa na aplicación a través dunha pequena mensaxe popup. *Chámaselle así "Tostada" porque ap...»)
 
 
(No se muestran 6 ediciones intermedias de otro usuario)
Línea 18: Línea 18:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
*'''Context''': é un interface que permite acceder aos recursos da nosa aplicación
 
*'''Context''': é un interface que permite acceder aos recursos da nosa aplicación
 +
: Para acceder á interface podemos empregar
 +
:*  A palabra '''this''' se fai referencia á activity (por exemplo, dentro dunha interface anónima OnClickListener asociadada a un botón, this fai referenza ao botón, non a activiy e non poderíamos empregar esta palabra).
 +
:::<syntaxhighlight lang="xml" enclose="div" highlight="8">
 +
public class MainActivity extends AppCompatActivity {
 +
 +
 +
    @Override
 +
    protected void onStart() {
 +
        super.onStart();
 +
 +
        Toast t = Toast.makeText(this,"START",Toast.LENGTH_LONG);
 +
    }
 +
 +
}
 +
</syntaxhighlight>
 +
:* '''Nome da activity.this'''. Por exemplo, dentro dun botón xestioando o evento click:
 +
:::<syntaxhighlight lang="xml" enclose="div" highlight="5">
 +
    Button btn = findViewById(R.id.btnLanzar_Act_Main);
 +
        btn.setOnClickListener(new View.OnClickListener() {
 +
            @Override
 +
            public void onClick(View view) {
 +
                Toast.makeText(MainActivity.this,"PULSADO BOTON",Toast.LENGTH_LONG).show();
 +
 +
            }
 +
        });
 +
</syntaxhighlight>
 +
:* Empregando o método '''getApplicationContext()''', por exemplo:
 +
:::<syntaxhighlight lang="xml" enclose="div" highlight="5">
 +
    Button btn = findViewById(R.id.btnLanzar_Act_Main);
 +
        btn.setOnClickListener(new View.OnClickListener() {
 +
            @Override
 +
            public void onClick(View view) {
 +
                Toast.makeText(getApplicationContext(),"PULSADO BOTON",Toast.LENGTH_LONG).show();
 +
 +
            }
 +
        });
 +
</syntaxhighlight>
 +
 +
 
*'''duration''':
 
*'''duration''':
 
**'''LENGTH_SHORT''': constante que equivale a 2 segundos  
 
**'''LENGTH_SHORT''': constante que equivale a 2 segundos  
Línea 34: Línea 73:
  
 
==Caso práctico==
 
==Caso práctico==
−
*Comezamos creando o proxecto '''U2_15_Toast'''
+
 
−
*Collendo como base a primeira versión da aplicación dos planetas: '''U2_12_Spinner'''.
+
* Partimos que xa temos creado o proxecto inicial como [http://wiki.cifprodolfoucha.es/index.php?title=PDM_Creando_proxecto_base xa indicamos anteriormente].
 +
: Se non o temos creado antes, crea un paquete de nome '''UI''' como un subpaquete do teu paquete principal.
 +
: Dentro do paquete UI, crearemos un novo paquete de nome: '''Toasts'''.
 +
 
 +
 
 +
<br />
 +
* Dentro do paquete '''Toasts''' crear unha nova 'Empty Activity' de nome: '''UD02_01_Toast''' de tipo Launcher e sen compatibilidade.
 +
: Modifica o arquivo '''AndroidManifiest.xml''' e engade unha label á activity como [http://wiki.cifprodolfoucha.es/index.php?title=PDM_Creando_proxecto_base xa vimos na creación do proxecto base].
 +
 
 +
 +
 
 +
*Collendo como base a primeira versión da aplicación dos planetas: [http://wiki.cifprodolfoucha.es/index.php?title=Spinner#Caso_pr.C3.A1ctico U2_12_Spinner].
 
*Simplemente agora a nova aplicación ten unha entrada máis ao principio do Spinner '''Selecciona un planeta'''.
 
*Simplemente agora a nova aplicación ten unha entrada máis ao principio do Spinner '''Selecciona un planeta'''.
  
Línea 52: Línea 102:
  
 
*Engadimos un ítem ao principio:
 
*Engadimos un ítem ao principio:
−
<syntaxhighlight lang="xml" line enclose="div" highlight="4" >
+
<syntaxhighlight lang="xml" line enclose="div" highlight="15,16" >
 
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
 
<resources>
 
<resources>
−
    <string-array name="planetas">
+
 
 +
    <string-array name="planetas_UD02_01_spinner">
 +
        <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>
 +
 
 +
    <string-array name="planetas_UD02_01_toast">
 
         <item>Selecciona un planeta</item>
 
         <item>Selecciona un planeta</item>
 
         <item>Mercurio</item>
 
         <item>Mercurio</item>
Línea 70: Línea 132:
  
  
 +
<br />
 
===O XML do layout===
 
===O XML do layout===
−
*É igual ao da aplicación orixinal.
+
*É igual ao da aplicación orixinal, cambiando a fonte de datos do spinner e actualizando os id´s dos controis.
  
−
<syntaxhighlight lang="xml" line enclose="div" highlight="" >
+
<syntaxhighlight lang="xml" line enclose="div" highlight="19" >
−
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+
<?xml version="1.0" encoding="utf-8"?>
 +
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
 +
    xmlns:app="http://schemas.android.com/apk/res-auto"
 
     xmlns:tools="http://schemas.android.com/tools"
 
     xmlns:tools="http://schemas.android.com/tools"
 
     android:layout_width="match_parent"
 
     android:layout_width="match_parent"
 
     android:layout_height="match_parent"
 
     android:layout_height="match_parent"
−
     android:orientation="vertical" >
+
     tools:context=".UI.Toasts.UD02_01_Toast">
  
−
     <Spinner
+
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
−
         android:id="@+id/spin_planetas"
+
         xmlns:tools="http://schemas.android.com/tools"
−
         android:layout_width="wrap_content"
+
         android:layout_width="match_parent"
−
         android:layout_height="wrap_content"
+
         android:layout_height="match_parent"
−
         android:entries="@array/planetas" />
+
         android:orientation="vertical" >
  
−
    <Button
+
        <Spinner
−
        android:id="@+id/btn_seleccion"
+
            android:id="@+id/spnPlanetas_UD02_01_Toast"
−
        android:layout_width="wrap_content"
+
            android:layout_width="wrap_content"
−
        android:layout_height="wrap_content"
+
            android:layout_height="wrap_content"
−
        android:onClick="onButtonClick"
+
            android:entries="@array/planetas_UD02_01_toast" />
−
        android:text="Preme cando selecciones" />
 
  
−
    <TextView
+
        <Button
−
        android:id="@+id/lbl_resultado"
+
            android:id="@+id/btnSeleccion_UD02_01_Toast"
−
        android:layout_width="wrap_content"
+
            android:layout_width="wrap_content"
−
        android:layout_height="wrap_content"
+
            android:layout_height="wrap_content"
−
        android:text="Selecciona un planeta" />
+
            android:onClick="onButtonClick"
 +
            android:text="Preme cando selecciones" />
  
−
</LinearLayout>
+
        <TextView
 +
            android:id="@+id/tvResultado_UD02_01_Toast"
 +
            android:layout_width="wrap_content"
 +
            android:layout_height="wrap_content"
 +
            android:text="Selecciona un planeta" />
 +
 
 +
    </LinearLayout>
 +
</android.support.constraint.ConstraintLayout>
 
</syntaxhighlight>
 
</syntaxhighlight>
  
  
  
−
 
+
<br />
 
===Código Java===
 
===Código Java===
  
 
*Ao método da aplicación orixinal engadímoslle un control: se esta seleccionada ou non a posición 0 do Spinner.
 
*Ao método da aplicación orixinal engadímoslle un control: se esta seleccionada ou non a posición 0 do Spinner.
−
<syntaxhighlight lang="java" line enclose="div" highlight="30-31" >
+
<syntaxhighlight lang="java" line enclose="div" highlight="18-20" >
−
package com.example.u2_15_toast;
+
package es.cursoandroid.cifprodolfoucha.aprendiendo.UI.Toasts;
  
 
import android.app.Activity;
 
import android.app.Activity;
 
import android.os.Bundle;
 
import android.os.Bundle;
−
import android.view.Menu;
 
 
import android.view.View;
 
import android.view.View;
 
import android.widget.Spinner;
 
import android.widget.Spinner;
Línea 119: Línea 190:
 
import android.widget.Toast;
 
import android.widget.Toast;
  
−
public class U2_15_Toast extends Activity {
+
import es.cursoandroid.cifprodolfoucha.aprendiendo.R;
  
−
@Override
+
public class UD02_01_Toast extends Activity {
−
protected void onCreate(Bundle savedInstanceState) {
 
−
super.onCreate(savedInstanceState);
 
−
setContentView(R.layout.activity_u2_15__toast);
 
−
}
 
  
−
@Override
+
    public void onButtonClick(View v) {
−
public boolean onCreateOptionsMenu(Menu menu) {
+
        Spinner spinPlanetas = (Spinner) findViewById(R.id.spnPlanetas_UD02_01_Toast);
−
// Inflate the menu; this adds items to the action bar if it is present.
+
        TextView lblResultado = (TextView) findViewById(R.id.tvResultado_UD02_01_Toast);
−
getMenuInflater().inflate(R.menu.u2_15__toast, menu);
 
−
return true;
 
−
}
 
  
−
public void onButtonClick(View v) {
+
        if (spinPlanetas.getSelectedItemId() == 0) {
−
Spinner spinPlanetas = (Spinner) findViewById(R.id.spin_planetas);
+
            Toast.makeText(this, "Por favor selecciona un planeta",Toast.LENGTH_LONG).show();
−
TextView lblResultado = (TextView) findViewById(R.id.lbl_resultado);
+
            lblResultado.setText("");
 +
        } else
  
−
if (spinPlanetas.getSelectedItemId() == 0) {
+
            lblResultado.setText("Seleccionaches "
−
Toast.makeText(this, "Por favor selecciona un planeta",Toast.LENGTH_LONG).show();
+
                    + spinPlanetas.getSelectedItem()
−
lblResultado.setText("");
+
                    + "\nque está na posición "
−
} else
+
                    + spinPlanetas.getSelectedItemId());
 +
    }
  
−
lblResultado.setText("Seleccionaches "
 
−
+ spinPlanetas.getSelectedItem()
 
−
+ "\nque está na posición "
 
−
+ spinPlanetas.getSelectedItemId());
 
−
}
 
  
 +
    @Override
 +
    protected void onCreate(Bundle savedInstanceState) {
 +
        super.onCreate(savedInstanceState);
 +
        setContentView(R.layout.activity_ud02_01__toast);
 +
    }
 
}
 
}
 +
 
</syntaxhighlight>
 
</syntaxhighlight>
−
*'''Liña 30''': Comprobamos se a posición seleccionada no Spinner é a 0 de ser así ...
+
*'''Liña 18''': Comprobamos se a posición seleccionada no Spinner é a 0 de ser así ...
−
*'''Liña 31''': realizamos un Toast.
+
*'''Liña 19''': realizamos un Toast.
−
*'''Liña 32''': Poñemos a etiqueta a baleiro.
+
*'''Liña 20''': Poñemos a etiqueta a baleiro.
 +
 
 +
 
 +
 
 +
<br />
 +
==Personalizando o Toast==
 +
 
 +
* O toast é un obxecto da clase Toast que se crea cando chamamos o makeToast.
 +
: Unha vez creado podemos acceder as súas propiedades e métodos.
 +
 
 +
* Por exemplo:
 +
:* [https://developer.android.com/reference/android/widget/Toast.html#setGravity(int,%20int,%20int) setGravity(int gravity, int xOffset, int yOffset) ]: Cambiamos a posición por defecto na que aparece o Toast. Debemos facer uso da clase Gravity.
 +
:* [https://developer.android.com/reference/android/widget/Toast.html#setView(android.view.View) setView(View view)]: Podemos establecer que se visualiza un view definido por nos.
 +
:* [https://developer.android.com/reference/android/widget/Toast.html#setText(int) setText(int resId)]: Podemos facer uso dun recurso de tipo 'string' referenciándolo da forma: R.string.nome_recurso
 +
 
 +
 
 +
* Vexamos un exemplo, baseado no mesmo código do exemplo anterior, no que imos crear un View de tipo TextView que imos asociado a o Toast e tamén imos modificar a posición na que aparece a mensaxe:
 +
 
 +
[[Imagen:PDM_toast_4.jpg|400px|center]]
 +
 
 +
 
 +
* O código modificado:
 +
<syntaxhighlight lang="java" line enclose="div" highlight="8-13" >
 +
    public void onButtonClick(View v) {
 +
        Spinner spinPlanetas = (Spinner) findViewById(R.id.spnPlanetas_UD02_01_Toast);
 +
        TextView lblResultado = (TextView) findViewById(R.id.tvResultado_UD02_01_Toast);
 +
 
 +
        if (spinPlanetas.getSelectedItemId() == 0) {
 +
            Toast toast =  Toast.makeText(this, "",Toast.LENGTH_LONG);  // Creamos o obxecto Toast
 +
 
 +
            TextView viewToast = new TextView(this);    // Creamos un view que imos asociado ao Toast en vez dunha cadea de texto. Podería ser calquera view
 +
            viewToast.setText("Por favor selecciona un planeta");
 +
            viewToast.setTextColor(Color.RED);
 +
 
 +
            toast.setGravity(Gravity.TOP|Gravity.RIGHT,10,10);  // Cambiamos as propiedades do toast
 +
            toast.setView(viewToast);
 +
           
 +
            toast.show();  // Amosamos o toast
 +
            lblResultado.setText("");
 +
        } else {
 +
 
 +
            lblResultado.setText("Seleccionaches "
 +
                    + spinPlanetas.getSelectedItem()
 +
                    + "\nque está na posición "
 +
                    + spinPlanetas.getSelectedItemId());
 +
      }
 +
    }
 +
</syntaxhighlight>
 +
 
 +
 
 +
 
 +
<br />
 +
==Empregando cadeas definidas en /res/values/==
 +
 
 +
* Como xa vimos [https://wiki.cifprodolfoucha.es/index.php?title=TextView._Definici%C3%B3n_de_recursos_XML#Empregando_recursos_definidos_Res nos TextViews], as cadeas que se amosan nun Toast non deben ser escritas directamente no código Java, se non que deben ser referenciadas como un recurso de tipo cadea definido nalgún arquivo /res/values
 +
 
 +
 
 +
: Podedes consultar como facelo no enlace anterior.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
<br />
 +
'''[https://wiki.cifprodolfoucha.es/index.php?title=Programaci%C3%B3n_de_dispositivos_m%C3%B3biles#UNIDADE_2:_A_interface_de_usuario. Enlace a la página principal de la UD2]'''
 +
<br />
 +
<br />
 +
'''[https://wiki.cifprodolfoucha.es/index.php?title=Programación_de_dispositivos_móbiles Enlace a la página principal del curso]'''
 +
<br />
 +
 
  
  
  
−
<br> -- [[Usuario:angelfg|Ángel D. Fernández González]] e [[Usuario:Carrion|Carlos Carrión Álvarez]] -- (2015).
+
<br> -- [[Usuario:angelfg|Ángel D. Fernández González]] e [[Usuario:Carrion|Carlos Carrión Álvarez]] -- (2018).

Revisión actual del 12:57 21 nov 2020

Introdución

  • Un Toast proporciona un simple feedback de algo que pasa na aplicación a través dunha pequena mensaxe popup.
  • Chámaselle así "Tostada" porque aparece na pantalla do mesmo xeito que as tostadas saltan na torradora cando están feitas.

00 toast.png

  • So usa o espazo que precise a mensaxe e a pantalla actual permanece visible.
  • Desaparecen automaticamente pasado un pequeno espazo de tempo.


  • Para usar o Toast:
1 Context context = getApplicationContext();
2 CharSequence text = "Hello toast!";
3 int duration = Toast.LENGTH_SHORT;
4 
5 Toast toast = Toast.makeText(context, text, duration);
6 toast.show();
  • Context: é un interface que permite acceder aos recursos da nosa aplicación
Para acceder á interface podemos empregar
  • A palabra this se fai referencia á activity (por exemplo, dentro dunha interface anónima OnClickListener asociadada a un botón, this fai referenza ao botón, non a activiy e non poderíamos empregar esta palabra).
public class MainActivity extends AppCompatActivity {


    @Override
    protected void onStart() {
        super.onStart();

        Toast t = Toast.makeText(this,"START",Toast.LENGTH_LONG);
    }

}
  • Nome da activity.this. Por exemplo, dentro dun botón xestioando o evento click:
     Button btn = findViewById(R.id.btnLanzar_Act_Main);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(MainActivity.this,"PULSADO BOTON",Toast.LENGTH_LONG).show();

            }
        });
  • Empregando o método getApplicationContext(), por exemplo:
     Button btn = findViewById(R.id.btnLanzar_Act_Main);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getApplicationContext(),"PULSADO BOTON",Toast.LENGTH_LONG).show();

            }
        });


  • duration:
    • LENGTH_SHORT: constante que equivale a 2 segundos
    • LENGTH_LONG: constante que equivale a 3,5 segundos


  • As liñas 5 e 6 anteriores poden ser substituídas pola seguinte:
1 Toast.makeText(context, text, duration).show();


Caso práctico

Se non o temos creado antes, crea un paquete de nome UI como un subpaquete do teu paquete principal.
Dentro do paquete UI, crearemos un novo paquete de nome: Toasts.



  • Dentro do paquete Toasts crear unha nova 'Empty Activity' de nome: UD02_01_Toast de tipo Launcher e sen compatibilidade.
Modifica o arquivo AndroidManifiest.xml e engade unha label á activity como xa vimos na creación do proxecto base.


  • Collendo como base a primeira versión da aplicación dos planetas: U2_12_Spinner.
  • Simplemente agora a nova aplicación ten unha entrada máis ao principio do Spinner Selecciona un planeta.



Arquivo de recursos: array_planetas.xml

  • Copiamos o ficheiro array_planetas.xml ubicado en /res/values/ dunha aplicación á outra.
  • Engadimos un ítem ao principio:
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <resources>
 3 
 4     <string-array name="planetas_UD02_01_spinner">
 5         <item>Mercurio</item>
 6         <item>Venus</item>
 7         <item>Terra</item>
 8         <item>Marte</item>
 9         <item>Xúpiter</item>
10         <item>Saturno</item>
11         <item>Urano</item>
12         <item>Neptuno</item>
13     </string-array>
14 
15     <string-array name="planetas_UD02_01_toast">
16         <item>Selecciona un planeta</item>
17         <item>Mercurio</item>
18         <item>Venus</item>
19         <item>Terra</item>
20         <item>Marte</item>
21         <item>Xúpiter</item>
22         <item>Saturno</item>
23         <item>Urano</item>
24         <item>Neptuno</item>
25     </string-array>
26 </resources>



O XML do layout

  • É igual ao da aplicación orixinal, cambiando a fonte de datos do spinner e actualizando os id´s dos controis.
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     tools:context=".UI.Toasts.UD02_01_Toast">
 8 
 9     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
10         xmlns:tools="http://schemas.android.com/tools"
11         android:layout_width="match_parent"
12         android:layout_height="match_parent"
13         android:orientation="vertical" >
14 
15         <Spinner
16             android:id="@+id/spnPlanetas_UD02_01_Toast"
17             android:layout_width="wrap_content"
18             android:layout_height="wrap_content"
19             android:entries="@array/planetas_UD02_01_toast" />
20 
21         <Button
22             android:id="@+id/btnSeleccion_UD02_01_Toast"
23             android:layout_width="wrap_content"
24             android:layout_height="wrap_content"
25             android:onClick="onButtonClick"
26             android:text="Preme cando selecciones" />
27 
28         <TextView
29             android:id="@+id/tvResultado_UD02_01_Toast"
30             android:layout_width="wrap_content"
31             android:layout_height="wrap_content"
32             android:text="Selecciona un planeta" />
33 
34     </LinearLayout>
35 </android.support.constraint.ConstraintLayout>



Código Java

  • Ao método da aplicación orixinal engadímoslle un control: se esta seleccionada ou non a posición 0 do Spinner.
 1 package es.cursoandroid.cifprodolfoucha.aprendiendo.UI.Toasts;
 2 
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.view.View;
 6 import android.widget.Spinner;
 7 import android.widget.TextView;
 8 import android.widget.Toast;
 9 
10 import es.cursoandroid.cifprodolfoucha.aprendiendo.R;
11 
12 public class UD02_01_Toast extends Activity {
13 
14     public void onButtonClick(View v) {
15         Spinner spinPlanetas = (Spinner) findViewById(R.id.spnPlanetas_UD02_01_Toast);
16         TextView lblResultado = (TextView) findViewById(R.id.tvResultado_UD02_01_Toast);
17 
18         if (spinPlanetas.getSelectedItemId() == 0) {
19             Toast.makeText(this, "Por favor selecciona un planeta",Toast.LENGTH_LONG).show();
20             lblResultado.setText("");
21         } else
22 
23             lblResultado.setText("Seleccionaches "
24                     + spinPlanetas.getSelectedItem()
25                     + "\nque está na posición "
26                     + spinPlanetas.getSelectedItemId());
27     }
28 
29 
30     @Override
31     protected void onCreate(Bundle savedInstanceState) {
32         super.onCreate(savedInstanceState);
33         setContentView(R.layout.activity_ud02_01__toast);
34     }
35 }
  • Liña 18: Comprobamos se a posición seleccionada no Spinner é a 0 de ser así ...
  • Liña 19: realizamos un Toast.
  • Liña 20: Poñemos a etiqueta a baleiro.



Personalizando o Toast

  • O toast é un obxecto da clase Toast que se crea cando chamamos o makeToast.
Unha vez creado podemos acceder as súas propiedades e métodos.
  • Por exemplo:


  • Vexamos un exemplo, baseado no mesmo código do exemplo anterior, no que imos crear un View de tipo TextView que imos asociado a o Toast e tamén imos modificar a posición na que aparece a mensaxe:
PDM toast 4.jpg


  • O código modificado:
 1     public void onButtonClick(View v) {
 2         Spinner spinPlanetas = (Spinner) findViewById(R.id.spnPlanetas_UD02_01_Toast);
 3         TextView lblResultado = (TextView) findViewById(R.id.tvResultado_UD02_01_Toast);
 4 
 5         if (spinPlanetas.getSelectedItemId() == 0) {
 6             Toast toast =  Toast.makeText(this, "",Toast.LENGTH_LONG);   // Creamos o obxecto Toast
 7 
 8             TextView viewToast = new TextView(this);    // Creamos un view que imos asociado ao Toast en vez dunha cadea de texto. Podería ser calquera view
 9             viewToast.setText("Por favor selecciona un planeta");
10             viewToast.setTextColor(Color.RED);
11 
12             toast.setGravity(Gravity.TOP|Gravity.RIGHT,10,10);  // Cambiamos as propiedades do toast
13             toast.setView(viewToast);
14             
15             toast.show();   // Amosamos o toast
16             lblResultado.setText("");
17         } else {
18 
19             lblResultado.setText("Seleccionaches "
20                     + spinPlanetas.getSelectedItem()
21                     + "\nque está na posición "
22                     + spinPlanetas.getSelectedItemId());
23        }
24     }



Empregando cadeas definidas en /res/values/

  • Como xa vimos nos TextViews, as cadeas que se amosan nun Toast non deben ser escritas directamente no código Java, se non que deben ser referenciadas como un recurso de tipo cadea definido nalgún arquivo /res/values


Podedes consultar como facelo no enlace anterior.




Enlace a la página principal de la UD2

Enlace a la página principal del curso




-- Ángel D. Fernández González e Carlos Carrión Álvarez -- (2018).