Здравствуйте. Я использую следующий код для связи адресов электронной почты и URL-адресов, и это работает так, как мне нужно, однако, если вы щелкнете в любом месте, кроме URL-адресов и электронных писем, белый несвязанный текст становится черным и нечитаемым. Буду весьма признателен, но не то, что надоедает при форматировании цвета несвязанного текста при щелчке.
final SpannableString s = new SpannableString("Some text here before link http://www.google.com some more text then email fake@fake.com");
Linkify.addLinks(s, Linkify.WEB_URLS | Linkify.EMAIL_ADDRESSES);
final AlertDialog d = new AlertDialog.Builder(MainMethod.this)
.setPositiveButton(android.R.string.ok, null)
.setIcon(R.drawable.about)
.setTitle(R.string.about_title)
.setMessage( s )
.create();
d.show();
((TextView)d.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
Так что теперь следующий текст «Здесь какой-то текст перед ссылкой, еще текст, чем электронная почта» показывает белый цвет в диалоге, но становится черным при нажатии
EDIT:
Java
LayoutInflater li = LayoutInflater.from(this);
View view = li.inflate(R.layout.link, null);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Insert Title Here");
builder.setView(view).create().show();
TextView text=(TextView) findViewById(R.id.link1);
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/link1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Body text with email fake@fake.com and a website http://google.com"
android:autoLink="web|email"
android:textColorLink="#0000ff"
android:textColor="#ffffff"
/>
</LinearLayout>