Memproses URL di TextView Android

Ada dua cara untuk membuat TextView bisa memproses suatu URL sehingga TextView menjadi interaktif layaknya menggunakan tag <a> di HTML.

Cara yang pertama ialah dengan menambahkan atribut autoLink di XML:

<TextView
    android:id="@+id/text"
    android:autoLink="phone|web"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

Atau dengan cara yang kedua lewat Kotlin:

val textView = findViewById<TextView>(R.id.text)
Linkify.addLinks(textView, Linkify.PHONE_NUMBERS or Linkify.WEB_URLS)

Linkify merupakan utility class dari package android.text.util yang akan mencari teks berdasasrkan aturan regular expression dan mengubahnya menjadi link yang bisa di klik. Kelas ini sangat berguna bila kita ingin agar teks yang ada di dalam suatu TextView yang berisi nomor telepon atau alamat web bisa di klik secara langsung tanpa banyak text handling.

Untuk nomor telepon agar dapat dideteksi dan diproses sebagai sebuah link, maka ia harus dimulai dengan simbol + misalnya +6281214632571.

Apabila ingin pemrosesan URL yang lebih kompleks atau ingin melakukan kostumisasi teks yang lebih banyak, pertimbangkan untuk menggunakan Spannable.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *