sábado, 31 de diciembre de 2016

04. OnClickListener, añadiendo escucha a los botones.

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;        }
    }
}
 
 
El codigo xml de la actividad seria asi:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="ticoticotaa.es.ejemploonclcklistener.MainActivity">
    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Pulsa un boton"        android:id="@+id/tv" />
    <Button        android:text="Boton 1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@+id/tv"        android:layout_toEndOf="@+id/tv"        android:layout_marginStart="14dp"        android:layout_marginTop="34dp"        android:id="@+id/btn1" />
    <Button        android:text="Boton 2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@+id/button3"        android:layout_alignEnd="@+id/button3"        android:layout_marginTop="72dp"        android:id="@+id/btn2" />

</RelativeLayout>









No hay comentarios:

Publicar un comentario