Crear un TextView clickable como un botón en Android Studio con Java

Hola programador en esta ocasión te muestro como hacer para que un TextView de Android se comporte como un Button.


Para lograr esto lo único que tienes que hacer es agregar al TextView el atributo android:clickable y asignarle el valor true.

Método 1

    <TextView
        android:id="@+id/text_click"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView clickable!"
        android:textColor="@android:color/holo_blue_light"
        android:textStyle="bold"
        android:clickable="true"
        />

Con este atributo logramos que el TextView tenga la capacidad de ser clickeado. El siguiente paso es agregar el método setOnClickListener a tu clase Java o de Kotlin para que realice la acción que deseas.  

    TextView myTextClick;

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

        myTextClick = findViewById(R.id.text_click);

        myTextClick.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getApplicationContext(), "Remplazar por tu codigo", Toast.LENGTH_LONG)
                                    .show();
            }
        });

    }

 

Método 2

Existe otra forma de escuchar cuando el TextView es clickeado. Lo que harias es añadir a tu TextView el atributo android:onClick y asignarle como valor el nombre del método que escuchará la acción cuando este sea clickeado. A continuación te presento un ejemplo.

    <TextView
        android:id="@+id/text_click"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView clickable!"
        android:textColor="@android:color/holo_blue_light"
        android:textStyle="bold"
        android:clickable="true"
        android:onClick="clickTextView"
        />

Y en tu clase de Java o Kotlin agregas un método de tipo void con el nombre que le asignaste al atributo android:onClick (en mi caso le asigne como nombre clickTextView). Tal como se muestra a continuación.

    public void clickTextView(View view){
        Toast.makeText(getApplicationContext(), "Remplazar por tu codigo", Toast.LENGTH_LONG)
                .show();
    }

 

Resultado

Espero te haya servido cualquier duda o alguna sugerencia escribela en la caja de comentarios. :)


SOBRE EL AUTOR
Francisco Gonzalez
Francisco Gonzalez

Hola programad@r, soy desarrollador móvil. Creé este espacio para compartir mi experiencia contigo en el mundo del desarrollo de software.