【问题标题】:Android: Loading data like facebook and twitterAndroid:加载 facebook 和 twitter 等数据
【发布时间】:2011-12-29 07:08:03
【问题描述】:

我只是想知道如何为 Twitter 和 Facebook 应用程序加载数据..

就像当您到达页面末尾时,您仍在与 UI 交互,它显示正在加载更多数据。这是如何以编程方式完成的。

更清楚地说,当您向下滚动新闻提要时,当您到达某个点时,它会显示一个圆圈,表示正在加载更多数据,然后当有更多新提要可用时,您也可以滚动浏览它。我希望我我很清楚..我只是想知道这样的场景是如何实现的..有什么例子吗?

【问题讨论】:

标签: android


【解决方案1】:

这里有几个链接可以帮助您完成它。

http://github.com/commonsguy/cwac-endless

Android Endless List

http://www.androidguys.com/2009/10/21/tutorial-autogrowing-listview/

来自链接二的示例逻辑,

public class Test extends ListActivity implements OnScrollListener {

Aleph0 adapter = new Aleph0();

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setListAdapter(adapter); 
    getListView().setOnScrollListener(this);
}

public void onScroll(AbsListView view,
    int firstVisible, int visibleCount, int totalCount) {

    boolean loadMore = /* maybe add a padding */
        firstVisible + visibleCount >= totalCount;

    if(loadMore) {
        adapter.count += visibleCount; // or any other amount
        adapter.notifyDataSetChanged();
    }
}

public void onScrollStateChanged(AbsListView v, int s) { }    

class Aleph0 extends BaseAdapter {
    int count = 40; /* starting amount */

    public int getCount() { return count; }
    public Object getItem(int pos) { return pos; }
    public long getItemId(int pos) { return pos; }

    public View getView(int pos, View v, ViewGroup p) {
            TextView view = new TextView(Test.this);
            view.setText("entry " + pos);
            return view;
    }
}
}

【讨论】:

    猜你喜欢
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 1970-01-01
    相关资源
    最近更新 更多