Bạn sẽ có thể thực hiện điều đó bằng cách sử dụng ClickableSpan
. Về cơ bản, bạn cần phải tạo một SpannableStringBuilder
, nối thêm các phần văn bản và đặt một ClickableSpan khác cho mỗi phần văn bản có thể nhấp.
SpannableStringBuilder sb = new SpannableStringBuilder();
String regularText = "This text is ";
String clickableText = "clickable";
sb.append(regularText);
sb.append(clickableText);
sb.setSpan(new ClickableSpan(), sb.length()-clickableText.length(), sb.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView tv = ...
tv.setText(sb);
Đây chỉ là ví dụ minh họa cách đặt một ClickableSpan. Rõ ràng nó sẽ có ý nghĩa hơn để làm ở trên trong một vòng lặp và thiết lập một khoảng mới với mỗi lần lặp.
Tuy nhiên, vì ClickableSpan là một lớp trừu tượng, trước tiên bạn sẽ cần phải mở rộng nó với triển khai cụ thể của riêng bạn. Cụ thể hơn, phương thức onClick sẽ cần được triển khai để xử lý các sự kiện nhấp chuột.
Ngoài ra, đừng quên đặt MovementMethod thành TextView, ví dụ: LinkMovementMethod: [? Làm thế nào để nhấp chuột hoặc gõ vào một văn bản TextView chữ khác nhau]
tv.setMovementMethod(LinkMovementMethod.getInstance());
Nguồn
2012-04-02 19:29:42
thể trùng lặp của (http://stackoverflow.com/questions/9584136/how-to-click-or-tap-on -a-textview-text-on-other-words) – ForceMagic