تبدیل خودکار آدرس های اینترنتی (URL) موجود در متن نمایش داده شده در یک TextView ، به لینک (link)، در برنامه نویسی اندروید
ممکن است که متنی که در یک TextView نمایش داده ایم، حاوی تعدادی آدرس اینترنتی (URL) باشد، این آدرس ها به صورت معمولی نمایش داده می شود، اما چنانچه بخواهیم که برنامه اندروید، به طور خودکار، آدرس های اینترنتی (URL) موجود در متن را بیابد و آنها را به صورت لینک (link) نمایش بدهد، باید یک سری کد بنویسیم.
شیوه کلی کدنویسی برای این منظور، به شکل زیر می باشد (فرض کرده ایم که TextView دارای id برابر textView1 می باشد) :
TextView tv = (TextView) findViewById(R.id.textView1);
tv.setText(myText);
Linkify.addLinks(tv, Linkify.ALL);
در رشته تعریف شده با نام myText ، من عمدا سه شکل مختلف آدرس دهی را نوشته ام :
www.kelidestan.com
kelidestan.com
زیرا ممکن است برای شما این سوال پیش بیاید که آیا نوشتن پیشوندهای http:// و www ، ضروری است یا خیر. اکنون خودتان می توانید پاسخ این سوال را در نتیجه زیر متوجه بشوید :
مشاهده می کنید که هر سه شکل آدرس دهی، به لینک (link) تبدیل شده اند. با اشاره بر روی هر کدام از دو تای اول، مرورگر اینترنت گوشی اجرا شده و صفحه مقصد را نمایش می دهد، اما برای سومی، پس از اشاره کاربر، پنجره ای با عنوان Complete action using نمایش داده می شود که در آن، باید برنامه مورد نظرتان برای اجرای آن لینک را انتخاب کنید (در برنامه ها، مرورگر اینترنت گوشی اندروید نیز نمایش داده می شود).
در مبحث دیگری، چگونگی اجرای کدهای HTML موجود در یک متن و نمایش نتیجه آن، در یک TextView را شرح دادیم، بنابراین استفاده از تگ a که برای ساخت لینک در HTML به کار می رود نیز می تواند برای ساخت لینک در یک TextView به کار رود، چنانچه به این نوع ساخت لینک نیاز دارید، می توانید به آن مبحث مراجعه کنید (در آن، از روش Html.fromHtml استفاده می شود، البته در استفاده از تگ a ، باید نکاتی را در نظر داشت که در همان مبحث شرح داده شده است).
سلام چجوری یک return بگیرم فقط لینک را توی تکست ویو دیگیری نشون بدیم؟