[英]Quote retweets 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();
}
(推文是本地类),一切正常,除了时间轴中的推文显示为“ Quote Retweet”:
RT @SOMEONE : the tweet.
我希望它像网站一样,只是普通的转发。
在twitter4j上,转发格式显示为
RT @user:鸣叫
因为这是rt接受文本的实际形式。 如果您在推特上发布具有相同格式的推文,它将被解析为推特本身的正常推文。
唯一可以编辑的方法是解析文本并手动删除第一部分。 尝试类似:
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之外,而没有+”:”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.