2013-08-14 6 views
19

मेरे एंड्रॉइड ऐप में, मेरे पास TextView है। पाठ में लिंक हो सकते हैं। यह एक पाठ का एक उदाहरण है:टेक्स्ट व्यू में सामान्य लिंक कैसे क्लिक करें?

This is just a test. Click the following link http://www.google.com to visit Google.

ध्यान दें कि पाठ एचटीएमएल में नहीं है, यह सिर्फ एक नियमित पाठ होगा।

मैं textView.parseLinks() जैसे कुछ करना चाहता हूं, फिर TextView, http://www.google.com पृष्ठ को खोलने के लिए हाइपर-लिंक और क्लिक करने योग्य होगा।

क्या यह संभव है?

धन्यवाद

+0

आप कहते हैं: 'पाठ HTML नहीं है, यह एक सामान्य व्यक्ति होगा जो सामान्य व्यक्ति होगा।' यदि उपयोगकर्ता टेक्स्ट में डाल देगा, तो क्या यह संपादन टेक्स्ट या टेक्स्ट व्यू है? मेरा सवाल यह है कि क्या उपयोगकर्ता टेक्स्ट डाल देगा या इसे पूर्व-परिभाषित किया जाएगा? –

+0

कोई भी दो गतिविधियां नहीं होंगी, एक जहां उनके पास एक बहु पंक्ति टेक्स्ट संपादन होगा, जो डेटाबेस में सहेजा जाता है। उपयोगकर्ता एचटीएमएल नहीं जानता, इसलिए वे HTML के बिना टेक्स्ट और लिंक डाल देंगे। फिर वर्तमान दृश्य पर, जो पाठ उन्होंने पहले रखा था वह डाउनलोड हो जाता है और टेक्स्टव्यू पर डाल दिया जाता है। – omega

उत्तर

63

प्रयास करें और एक्सएमएल फ़ाइल में TextView परिभाषा निम्न शामिल हैं:

<TextView 
    ... 
    android:autoLink="web"/> 

android:autoLink की डॉक्स कहते हैं:

नियंत्रित करें कि क्या इस तरह के यूआरएल और ईमेल पते के रूप में लिंक स्वचालित रूप से पाए जाते हैं और क्लिक करने योग्य लिंक में परिवर्तित होते हैं

तो स्वचालित रूप से लिंक खोजने के लिए, उपर्युक्त मदद कर सकता है। कोशिश करो और देखें।

+0

शानदार इनबिल्ट समाधान कभी .. इस तरह की एक महत्वपूर्ण जानकारी के लिए thanxx आदमी। –

+0

(superb.inbuilt) अगर हम ब्रैकेट के रूप में शब्दों को दर्ज करते हैं, तो यह उन लोगों के लिए लिंक भी दिखाता है .. मैं – zacharia

+0

को कैसे रोक सकता हूं जो मैं ढूंढ रहा था! धन्यवाद!!! –

6

ऐसा कुछ काम करना चाहिए।

TextView tv = (TextView) findViewById(R.id.textView1); 
    String text = "This is just a test. Click this link here <a href=\"http://www.google.com\">Google</a> to visit google."; 
    tv.setMovementMethod(LinkMovementMethod.getInstance()); 
    tv.setText(Html.fromHtml(text)); 
+1

दिए गए पाठ 'एचटीएमएल' नहीं होंगे। तो यह मेरे लिए काम नहीं करेगा ... – omega

2

this..it मेरे लिए काम कर रहा है की कोशिश

<TextView 
    android:id="@+id/text" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:autoLink="web" 
    android:text="click here http://www.google.com/"/> 
5
<TextView 
     ... 
     android:autoLink="..."/> 
//set ... by web|email|none|phone|map|all according to your need 

// रेखा से नीचे जोड़ने एंड्रॉयड लिंक रंग बदलने के लिए: textColorLink = "@ रंग/yourcolor"

1

URL चुनने का आसान तरीका और TextView में फोन नंबर:

TextView textView = (TextView)findViewById(R.id.textView1); 
textView.setText("some url is www.google.com phone 7504567890 another url lkgndflg.com "); 
Linkify.addLinks(textView, Linkify.WEB_URLS | Linkify.PHONE_NUMBERS); 
संबंधित मुद्दे