2012-03-15 36 views
7

Tôi đang thiết kế một ứng dụng, trong đó có TextView và dựa trên một số điều kiện kiểm tra, tôi muốn tạo liên kết/số điện thoại trong TextView có thể nhấp ở phía Java. Tôi có thể làm điều này, tôi không muốn làm cho nó có thể click theo mặc định mà được thực hiện bằng cách thiết lập trong file xmlĐặt liên kết có thể nhấp trong Java-Android

android:autoLink="all" 

Những gì tôi đã cố gắng: Tạo TextView thường xuyên và không đặt Tự động liên kết = "tất cả" ,

 TextView myView = 
       (TextView)view.findViewById(R.id.thisIstheTextView); 
     myView .setLinksClickable(true); 

cũng đã cố gắng:

 myView .setMovementMethod(LinkMovementMethod.getInstance()); 

không ai trong số các mã Java trên hoạt động, tôi không muốn có một xml TextView kế trước với Tự động liên kết được kích hoạt, tôi muốn thay đổi hành vi TextView trong mã Java dựa trên các điều kiện if(). Không có lỗi trong mã của tôi, nhưng tôi không thể đạt được những gì tôi muốn. Bạn có thể chia sẻ kiến ​​thức của bạn không. Cảm ơn bạn.

+0

http://stackoverflow.com/questions/9380349/html-a-tag-not-working-in-android-textview/9380417#9380417 –

Trả lời

5

Linkify.addLinks (myView, Linkify.ALL); Đã khắc phục sự cố.

13

Sử dụng setAutoLinkMask (int mask).

Giá trị có thể có thể được kết hợp cho mask là các giá trị được xác định cho lớp Linkify.

+0

Cảm ơn bạn. Mặc dù đây là phương pháp tương đương của android: autoLink, nó vẫn không hoạt động. –

+9

Xin lỗi tôi không đồng ý - nó hoạt động. Bạn cần phải gọi nó trước khi một cuộc gọi đến 'setText (...)' mặc dù, nó sẽ không thay đổi các liên kết trong một 'TextView' sau khi nó đã có văn bản trong nó. Câu hỏi của bạn được hỏi về cách thay đổi hành vi của 'TextView' tùy thuộc vào những gì bạn muốn hiển thị dưới dạng mục có thể nhấp/được liên kết (số điện thoại, v.v.)" dựa trên một số điều kiện đã chọn ". Tôi cho rằng bạn sẽ thực hiện kiểm tra, sau đó đặt mặt nạ liên kết tự động rồi đặt văn bản. – Squonk

+1

Sử dụng liên kết Linkify như textView.setAutoLinkMask (Linkify.WEB_URLS) này; –

Các vấn đề liên quan