Объявление автоматической ссылки в TextView скрывает текст...!
Я пытаюсь определить autolink = "web" для TextView. Удивительно, но когда я объявляю это, текст в TextView становится скрытым и становится видимым только при первом щелчке. Это так удивительно, у меня есть та же функциональность во многих частях моего приложения, где она работает нормально. Это единственное место, где я не смог найти, в чем проблема.
Пожалуйста, помогите мне с решением:
Вот мой XML-код TextView:
<TextView
android:id="@+id/details_webAddress_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/details_location_textView"
android:drawableLeft="@drawable/icon_website_earth"
android:drawablePadding="5dp"
android:gravity="center"
android:padding="5dp"
android:singleLine="true"
android:autoLink="web"
android:text="www.google.com"
android:visibility="visible" />
Ниже приведено TextView, в котором хорошо работает автолинк:
<TextView
android:id="@+id/websiteAddress_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="web"
android:padding="5dp"
android:singleLine="true"
android:text="www.stackru.com" />
2 ответа
Решение
Попробуйте использовать:
TextView textLink = (TextView) findViewById(R.id.details_webAddress_textView);
textLink.setVisibility(View.INVISIBLE);
Button buttonDetails = (Button) findViewById(R.id.button);
buttonDetails.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
textLink.setVisibility(View.VISIBLE); // text visible on firt click
String url = "http://www.example.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i); // open link with default browser
}
});
Вам необходимо установить атрибут "android:textColorLink" в xml дополнительно к атрибуту "android:autoLink".
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autoLink="web"
android:textColorLink="@color/yourDesiredLinkColor"/>