0

我正在开发适用于 Android 的 Twitter 应用阅读器。应用程序本身已完成,但机器人仍包含主题标签和提及检测。

我找到了 twitter-text 库,但我迷失了如何显示主题标签/提及。网址工作正常。

目前我正在做:

String tweet = mStatus.get(position).getText().toString();
Extractor MyExtractor = new Extractor();
List<Extractor.Entity> entityList = MyExtractor.extractEntitiesWithIndices(tweet);

Autolink MyAutoLink = new Autolink();
String str_analyse = MyAutoLink.autoLinkEntities(tweet,entityList);

//String str_analyse = MyAutoLink.autoLink(tweet);

viewHolder.status.setText(Html.fromHtml(str_analyse));

我看到 str_analysis 包含

我在想使用autoLinkEntities,因为它把标签可以帮助我。

任何想法 ?

塞布

4

1 回答 1

0

我认为最简单的方法之一是使用 SpannableString 类(http://developer.android.com/reference/android/text/SpannableString.html)。

以下是 Spannable String 的注释示例...

创建文本视图和所需的消息...

TextView textView = new TextView(this);
String twitterMessage = "Hello (seb)";

查找可点击部分的第一个和最后一个索引...

int SpanStart = twitterMessage.indexOf("(");
int SpanEnd = twitterMessage.indexOf(")");

更改文本视图并创建您的 Spannable...

textView.setText(twitterMessage, BufferType.SPANNABLE);
Spannable spannable = (Spannable)textView.getText();

使用 OnClick 方法创建 ClickableSpan...

ClickableSpan clickableSpan = new ClickableSpan()
{
@Override
public void onClick(View widget) { 
Intent userProfile = new Intent(getApplicatonContext(),UserProfile.class);
startActivity(userProfile)
}
};

使用 .setSpan() 将 Spannable 设置为使用 ClickableSpan...

spannable.setSpan(clickableSpan, SpanStart, SpanEnd +1,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

我建议您对此类进行更多研究,以确保它是您应用程序的写入方法。希望这可以帮助 :)

于 2015-10-27T00:21:47.823 回答