martes, 27 de enero de 2015

Cambiar texto de un elemento View desde Activity

En tes breve tutorial les voy a mostrar como cambiar, en algún caso escribir o modificar el texto desde el Activity, o en otras palabras cambiar el texto ya sea de un TextView un Button, etc. Desde Java.

Bien antes que nada necesitaremos un botón en el XML asociado con su estancia variable en Jav mediante un ID para aquellos que no vieron el tutorial pasado y quieren aprender a asociar elementos XML con sus variables correspondientes en Java les dejo este enlace click aquí. Igual abajo dejaré el código hasta el momento.

Esto es muy sencillo el código actual es el siguiente:

Código XML



    

Código JAVA

package com.example.zasapp2.zasapp2;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.widget.Button;

public class ZASApp2MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_zasapp2_main);
        Button boton1 = (Button)findViewById(R.id.button1);
    }

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

Entonces el resultado de esto es un botón centrado con el texto New Button que aparece por default cuando se inserta este objecto en la forma gráfica del XML. Aquí la imagen.

Bien ahora en el desde el código Java hacemos uso de un método que se deriava de la clase View

SetText

boton1.setText("No has pulsado el boton");
Por supuesto esto lo haremos luego de haber declarado y asociado nuestro botón dentro de OnCreate, con este método es como se modificará el texto de un TextView, Button, EditText, etc,

Los códigos completos son los siguientes

Código XML



    

Código JAVA

package com.example.zasapp2.zasapp2;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.widget.Button;

public class ZASApp2MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_zasapp2_main);
        Button boton1 = (Button)findViewById(R.id.button1);
        boton1.setText("No has pulsado el boton");

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_zasapp2_main, menu);
        return true;
    }
}
Como se puede observar el código XML es exactamente el mismo, pero ahora el resultado y lo que muestra el botón es un texto diferente en este caso "No has pulsado el boton".

Para cambiar el texto de un boton un TextView o cualquier otro elemento derivado de la clase View desde la Activity se puede hacer uso de SetText();

Por el momento al pulsar el botón nuestra aplicación no realizará ninguna actividad, para escuchar los click usaremos el evento OnClick que se muestra en el siguiente tutorial boton contador de clicks.

Recuerda dejar tus dudas o comentarios, si de ha gustado o servido el tutorial nos gustaría que compartieras y no siguieras en las redes sociales.

2 comentarios:

  1. como comparar el texto (TextView) de un jButton, es decir si cambio el TextView al dar clic en el jButton.

    Tengo la opción "mostrar" y "ocultar".
    en cada TextView hará tal acción pero necesito comparar. :/

    ResponderEliminar
    Respuestas
    1. Hola, hace tiempo no entro con esto de Android y no entiendo del todo tu pregunta, para saber si un elemento esta visible puedes utilizar las funciones getVisibility() googlea getVisibility android y salen varias opciones, espero sea la respuesta o minimo te pueda ayudar en algo, saludos

      Eliminar