En este ejemplo os muestro el codigo basico para que se ejecute la accion que indiquemos cuando se presiona un boton, para ello creamos una activity con 1 TextView y 2 Buttons, a los botones les indicamos que esten pendientes si se hace click en ellos con "setOnClickListener" y en el codigo de "onClick" detectaremos que boton se ha pulsado mediante "getId" para ejecutar un codigo u otro dependiendo de que boton se pulso, para ello nos ayudamos del condicional "switch".
El codigo java seria asi:
public class MainActivity extends Activity implements View.OnClickListener {
TextView tv;Button btn1, btn2; protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv=(TextView)findViewById(R.id.tv);btn1=(Button)findViewById(R.id.btn1);btn2=(Button)findViewById(R.id.btn2);btn1.setOnClickListener(this);btn2.setOnClickListener(this);}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn1:
tv.setText("Has pulsado el boton uno"); break; case R.id.btn2:
tv.setText("Has pulsado el boton dos"); break;}
}
}
En este ejemplo explico como enlazar el codigo con las vistas xml de
android, empezaremos por ver como cambiar el texto de un TextView desde el
codigo Java, esta accion la realizaremos al pulsar el boton.
Para comenzar, seleccionamos Nuevo Proyecto en AndroidStudio.
Despues elegimos la API minima en la que se ejecutara nuestra aplicacion.
Despues seleccionamos una activity vacia.
Activity pantalla que vemos en el terminal, en este caso la ponemos vacia
para introducir nosotros su contenido.
Despues pasamos al paso donde ponemos nombre a la actividad principal, en
este caso dejamos el que esta por defecto, tanto en el archivo XML como en el
archivo JAVA que llamara a la actividad para que se visualice en pantalla.
Procedemos a finalizar y a esperar que se abra el proyecto.
En la parte izquierda nos aparece el explorador de archivos del proyecto que
acabamos de crear, destacando la carpeta java donde aparece el archivo
MainActivity que es donde introduciremos el codigo java para conseguir el
objetivo planteado.
Mas abajo en res/layout aparece el archivo activity_main.xml que es el
archivo que indica la parte visual de la aplicacion.
Como veis en android se separa el codigo de la parte visual, al igual que en
otros lenguajes.
En el que asignamos los nombres identificadores (ID) para llamarlos y
manejarlos desde codigo java, asignamos tambien el texto que mostraran enlazado
al archivo xml (string) desde el cual se manejan todos los nombres que queremos
mostrar en la aplicacion, esto hace mas facil traducir la aplicacion para que
se muestre en distintos lenguajes, como veremos mas adelante.
En este codigo los tamaños los he puesto con respecto al contenido
(wrap_content), se pueden poner en pixeles y en otras medidas como en dp (para
vistas) o sp (para textos) estos son escalables segun densidad de pantalla.
Tanto el boton como el texto estan centrados en pantalla y al LinearLayout
que los contiene le he puesto un color de fondo por destacarlo.
La actividad principal queda de la siguiente manera:
Ahora pasamos al codigo java, en el que indicaremos mediante codigo que al
pulsar el boton se cambie el texto, e indique cuantas veces se ha pulsado el
boton.
El codigo java es:
package ticoticotaa.es.tutorialtextviewbutton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity
implements View.OnClickListener {
txtView.setText("Has Pulsado el boton "
+vecesPulsado+" veces");
}
}
Primero preparamos las variables antes del metodo onCreate.
Dentro del metodo onCreate se prepara la activity que se mostrara al
usuario.
Despues de mostrarle la pantalla mediante el archivo xml que creamos
anteriormente, procedemos a enlazar el textView y el boton con el codigo java,
para lo cual asignamos a las variables el id buscado del texto y el boton.
Al boton le asignamos una escucha para detectar si se pulsa, mediante
onClickListener, el (this) se refiere a la activity actual, el contexto, que se
manda al metodo onClick, que es el que ejecuta el codigo al pulsar el boton.
Cuando se pulsa el boton incrementamos el contador (vecesPulsado) para
detectar que se ha vuelto a pulsar y despues ponemos un texto en el textView.
Al terminar nuestra aplicacion podemos pulsar el boton de ejecutar y
podremos probarla en un emulador o en nuestro movil si esta conectado al pc,
como vemos en la imagen siguiente.
Tambien podemos generar el archivo APK, desde el menu Build para instalarlo
en dispositivos android o publicarlo en GooglePlay.
Pongo aqui el video explicativo.
Si teneis alguna duda podeis contactar conmigo y os atendere a la mayor
brevedad.