添加新项目后订购listview?

时间:2015-03-08 17:43:28

标签: android listview twitter android-listview

我设法将新项目更新为listview。但是,我想将它们添加到顶部而不是底部。

为了更清楚,我的listview最初只显示2条推文。如果我点击刷新,它将更新并显示接下来的2条推文以及旧的2条推文。

最初(显示2条推文):

enter image description here

刷新后(旧版推文中有+ 2条新推文):

enter image description here

使用此代码,设法在顶部显示新项目

 feeds.add(0,b);

我的问题是,我希望最新的推文首先出现。但是,这里最新的推文进入第二位,第二推文进入第一位。

示例:

将初始listView与2项视为

Tweet 1 ,
Tweet 2 .

我收到了2条新推文,我将添加到listview。有2条新推文,

Tweet 1_new,
Tweet 2_new.

预期结果,

Tweet 1_new,
Tweet 2_new,
Tweet 1 ,
Tweet 2 .

当前结果,

Tweet 2_new,
Tweet 1_new,
Tweet 1 ,
Tweet 2 .

第一条新推文发布到底部和第二条推文。我希望你明白了。

将新数据添加到listview的代码:

 for (twitter4j.Status status : statuses) {
           System.out.println(status.getUser().getScreenName() + ":" +
                    status.getText() + " | Retweet count : " + status.getRetweetCount());

            Bean b = new Bean();
            b.setsName(status.getUser().getScreenName());
            b.setTweet(status.getText());
            b.setImageurl(status.getUser().getOriginalProfileImageURL());


            System.out.println("size : " +t);

            feeds.add(0,b);
      }

在此次迭代中,第一个最新推文发布到底部&最后的推文到顶部。我只想要反过来。最新的,最后的,最后的。

1 个答案:

答案 0 :(得分:0)

List<Bean> newBeans = new ArrayList<Bean>();
for (twitter4j.Status status : statuses) {
    ...
    newBeans.add(b);
}
feeds.addAll(0, newBeans);