Linkifyは、カスタムリストアダプタで使用できます。Linkifyを使用すると、次のようなセレクターを使用して色を設定できます。
Linkify.addLinks(
holder.messageText,
messageDetailsMatcher,
"content://com.myApp/message/view?messageId=",
null, new myLinkTransformFilter(msgId));
ColorStateList colors = null;
try {
XmlResourceParser xpp = getResources().getXml(
R.color.link_color_selector);
colors = ColorStateList.createFromXml(getResources(),
xpp);
} catch (Exception e) {
Log.e("someError", e);
}
holder.messageText.setLinkTextColor(colors);
(注:holder.messageTextは、ホルダーオブジェクト内の単純なTextViewです)
次に、次のような/res/color/color_selector.xmlがあります。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:color="@drawable/message_focused" />
<item android:state_pressed="true" android:state_enabled="false"
android:color="@drawable/message_pressed" />
<item android:state_enabled="false" android:color="@drawable/message_enabled" />
<item android:state_active="true" android:color="@drawable/message_active" />
<item android:color="@drawable/message_default" />
</selector>