編輯:關於Android編程
好的解決辦法就是先加載一定數量的數據,然後在最下方提示正在加載!
動態加載就是把放入adapter中的數據分好幾次加載。在用戶拖動gridview時再加載一定的數據,和sina微博的客戶端類似。
給gridview添加OnScrollListener監聽事件默認會覆蓋下面兩個方法:
下面列舉個列子:
lazyGridView:
/** * 滾動到底部自動刷新 * * @author yinghui.hong * */ public class LazyGridView extends GridView implements OnScrollListener { public LazyGridView(Context context) { super(context); } public LazyGridView(Context context, AttributeSet attrs) { super(context, attrs); } public LazyGridView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { } /** * 列表視圖滾動 */ @Override public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { case OnScrollListener.SCROLL_STATE_IDLE: Log.v("onScrollStateChanged", "已經停止:SCROLL_STATE_IDLE"); // 判斷滾動到底部 if (view.getLastVisiblePosition() == (view.getCount() - 1)) { Log.v("onScrollStateChanged", "到底部啦。可以請求刷新咯~~~~~~"); if (listener != null) { listener.onScrollBottom(); } } break; case OnScrollListener.SCROLL_STATE_FLING: Log.v("onScrollStateChanged", "開始滾動:SCROLL_STATE_FLING"); break; case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL: Log.v("onScrollStateChanged", "正在滾動:SCROLL_STATE_TOUCH_SCROLL"); break; } } private OnScrollBottomListener listener; public void setOnScrollBottomListener(OnScrollBottomListener listener) { this.setOnScrollListener(this); this.listener = listener; } public void removeOnScrollBottomListener() { listener = null; System.out.println("removeOnScrollBottomListener"); } /** * 列表視圖滾動到底部監聽器 * * @author yinghui.hong * */ public interface OnScrollBottomListener { /** * 列表視圖滾動到底部時響應 */ public void onScrollBottom(); } }
主activity:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_circle); getActionBar().setDisplayHomeAsUpEnabled(true); mBeans = new ArrayList(); mAdapter = new CircleAdapter(this, mBeans); gridView = (LazyGridView) findViewById(R.id.gridview); gridView.setAdapter(mAdapter); gridView.setOnScrollBottomListener(this); mPageIndex = 0; queryJoinedCircles(mPageIndex); }
上一篇文章已經介紹了如何為RecyclerView添加FootView,在此基礎上,要添加分頁加載的功能其實已經很簡單了。 上一篇文章地址:為RecyclerView添加
0. 介紹此文將對Github上lguipeng大神所開發的 極簡筆記 v2.0 (點我下載源碼)代碼進行分析學習。通過此文你將學到:應用源碼的研讀方法 MVP架構模式
什麼是AppWidget?AppWidget就是我們平常在桌面上見到的那種一個個的小窗口,利用這個小窗口可以給用戶提供一些方便快捷的操作。本篇打算從以下幾個點來介紹App
下載動畫經常出現在下載需求多的app中,比如游戲下載平台,應用市場……先看看效果圖:實現private void startAnim() { //以bitmap創建