Объявление автоматической ссылки в 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"/>
Другие вопросы по тегам