引用转推Twitter4j

时间:2013-04-04 10:02:40

标签: java android twitter twitter4j

使用twitter4j时遇到问题,当我使用此代码获取时间线时:

try {
    ResponseList<Status> tweets = twitter.getHomeTimeline();
    for(Status s : tweets){
        Tweet temp = new Tweet(new URL(s.getUser().getProfileImageURL()),s.getUser().getName(),"@"+s.getUser().getScreenName() , s.getText());
        tweetsPanel.add(temp);
    }
} catch (TwitterException | MalformedURLException e) {
    e.printStackTrace();
}

(Tweet是本地课程)一切正常,除非时间线中的转推显示为“引用转发”:

RT @SOMEONE : the tweet.

我想要它像网站,只是一个正常的转推。

1 个答案:

答案 0 :(得分:0)

在twitter4j上转发以格式显示

  

RT @user:推文

因为是rt在文本中采用的实际形式。如果你使用相同的格式在Twitter上发布推文,它将被解析为来自Twitter本身的正常转推。

你可以编辑它的唯一方法是解析文本并手动删除第一部分。 尝试类似的事情:

String tweetText = "";
String [] splitted=s.getText().split(":");
if(splitted.lenght>2)
for (int i=1;i<splitted.lenght-1;i++)
{
  tweetText+=splitted[i]+":";
}
tweetText+=splitted[splitted.lenght-1];
return tweetText;

通过在i = 1上启动for,你将避免添加包含RT @user的第一个分割,通过添加splitted [i] +“:”你将把最后的其他“:”放回到推文中否则将消除分裂。当然你不想引入一个不存在的“:”,所以最后一段分裂出去了for,没有+“:”