Saya memiliki teks " Android is a Software stack ". Dalam teks ini saya ingin mengatur " tumpukan " teks dapat diklik. dalam arti jika Anda mengklik itu akan diarahkan ke aktivitas baru (bukan di browser).
Saya mencoba tetapi saya tidak mengerti.
android
string
textview
clickablespan
naresh
sumber
sumber
Jawaban:
android.text.style.ClickableSpan
dapat menyelesaikan masalah Anda.Dalam XML:
sumber
ForegroundColorSpan fcs = new ForegroundColorSpan(Color.BLUE); ss.setSpan(fcs, 22, 27, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
ForegroundColorSpan
disetSpan
setelah Anda telah menetapkan rentang diklik. Menempatkan latar depan sebelum rentang yang dapat diklik, warna baru tidak akan tercermin.Fungsi saya untuk membuat banyak tautan di dalamnya
TextView
MENGGUNAKAN
XML
DEMO
Referensi
Solusi untuk menghapus pemilihan sorotan tautan ikuti https://stackoverflow.com/a/19445108/5381331
sumber
Anda dapat menggunakan ClickableSpan seperti yang dijelaskan dalam posting ini
Kode sampel:
Referensi
sumber
startIndex
danendIndex
logika.Anda dapat menggunakan kode sampel. Anda ingin mempelajari detail tentang ClickableSpan. Silakan periksa dokumen ini
sumber
Saya membuat metode pembantu ini jika seseorang perlu posisi awal dan akhir dari sebuah String.
Dan inilah cara Anda menggunakannya
sumber
sumber
Berikut adalah
Kotlin
metode untuk membuat bagian yangTextView
dapat diklik:Itu bisa dipanggil beberapa kali untuk membuat beberapa tautan di dalam TextView:
sumber
Versi Kotlin dari jawaban Phan Van Linh.
Harap dicatat ini memiliki beberapa modifikasi kecil.
sumber
Untuk berani,
sumber
Saya akan menyarankan pendekatan yang berbeda yang saya pikir memerlukan lebih sedikit kode dan lebih "ramah lokal".
Andaikan aktivitas tujuan Anda disebut "ActivityStack", tentukan dalam manifes filter maksud untuknya dengan skema khusus (mis. "Myappscheme") di AndroidManifest.xml:
Tetapkan TextView tanpa tag khusus (penting untuk TIDAK menggunakan tag "android: autoLink", lihat: https://stackoverflow.com/a/20647011/1699702 ):
kemudian gunakan tautan dengan skema khusus dan host dalam teks TextView as (dalam String.xml):
dan "aktifkan" tautan dengan setMovementMethod () (di onCreate () untuk aktivitas atau onCreateView () untuk fragmen):
Ini akan membuka aktivitas tumpukan dengan mengetuk kata "tumpukan".
sumber
Anda dapat menggunakan metode ini untuk menetapkan nilai yang dapat diklik
Inilah cara menggunakannya:
sumber
Ini milik saya
MovementMethod
untuk mendeteksi klik tautan / teks / gambar. Itu dimodifikasiLinkMovementMethod
.sumber
jawaban yang lebih umum di kotlin
sumber
Solusi yang diberikan cukup baik. Namun, saya biasanya menggunakan solusi yang lebih sederhana.
Berikut adalah fungsi utilitas tautan balik
Menggunakan fungsi ini cukup sederhana. Berikut ini sebuah contoh
sumber
saya memberi kode contoh untuk menyelesaikan pertanyaan Anda di Kotlin.
Ini adalah Kode:
Ini adalah XML
Ini adalah tampilannya
masukkan deskripsi gambar di sini
sumber
Ini sangat membantu untuk bagian yang dapat diklik untuk sebagian teks.
Titik adalah karakter khusus dalam ekspresi reguler. Jika Anda ingin spanable titik harus lolos dot sebagai
\\
. alih-alih hanya meneruskan ".
" ke metode teks spanable. Sebagai alternatif, Anda juga bisa menggunakan ekspresi reguler[.]
untuk merentang String dengan sebuah titik di Jawa.sumber
Untuk menambahkan teks yang ditautkan dalam tampilan teks, Anda dapat menggunakan contoh sumber string "footer_text" di bawah ini dan juga mengedit metode onCreate untuk aktivitas Anda, Anda dapat menggunakan contoh di bawah ini
string.xml
MainActivity.java
sumber