android listview滑动过程中不加载图片,停止时加载图片。

转载 2015年07月10日 16:21:18

在我们使用新浪微博的时候,细心的同学一定发现了,在滑动的过程中,图片是没有被加载的,而是在滑动停止时,才加载图片了。

我们今天就做一个这样的效果吧。

我们先考虑两个问题:

1、在滑动停止的时候,如何获得需要加载的图片控件?

2、因为listiew在初始化完成的时候,OnScrollListener的onScrollStateChanged与onScroll并未被触发,如何初始化第一页的图片?



package com.test.list;
 
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
 
public class TestAndroidListActivity extends Activity {
 
    private int start_index, end_index;
 
    // 判断是否是初始化
    private boolean isInit = false;
    private ListView list;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        this.initList();
    }
 
    private BaseAdapter adapter = new BaseAdapter() {
 
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            View v;
            if (convertView == null) {
                v = getLayoutInflater().inflate(R.layout.list_item, null);
                v.setTag(v);
            } else {
                v = (View) convertView.getTag();
                ImageView iv = (ImageView) v.findViewById(R.id.img);
                iv.setImageResource(R.drawable.ic_launcher);
            }
            ImageView iv = (ImageView) v.findViewById(R.id.img);
            // 给图片控件设置上对应的位置编号
            iv.setTag(position);
            if (!isInit) {
                iv.setImageResource(R.drawable.update_log);
            }
 
            return v;
        }
 
        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return 0;
        }
 
        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return null;
        }
 
        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return 140;
        }
    };
 
    private void initList() {
        // TODO Auto-generated method stub
        list = (ListView) this.findViewById(R.id.list);
        list.setAdapter(adapter);
        list.setOnScrollListener(new OnScrollListener() {
 
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
                // TODO Auto-generated method stub
                isInit = true;
                switch (scrollState) {
                case OnScrollListener.SCROLL_STATE_IDLE:// 滑动停止
                    for (; start_index < end_index; start_index++) {
                        ImageView img = (ImageView) list.findViewWithTag(start_index);
                        img.setImageResource(R.drawable.update_log);
                    }
                    break;
 
                default:
                    break;
                }
            }
 
            @Override
            public void onScroll(AbsListView view, int firstVisibleItem,
                    int visibleItemCount, int totalItemCount) {
                // TODO Auto-generated method stub
                // 设置当前屏幕显示的起始index和结束index
                start_index = firstVisibleItem;
                end_index = firstVisibleItem + visibleItemCount;
 
            }
        });
 
    }
}


【Android】Glide结合Recyclerview(也适用于Listview)实现列表滑动的时候图片不加载,滑动停止的时候加载(已修正Listview部分以及排版)

很多人会问为什么要用 glide,其它的库可以么?其实只要图片库带有对应的方法都是可以的,只不过真心觉得这个库不错,就算是推荐吧。 然后着重讲 Recyclerview 是因为 Recyclervie...
  • libra_louis
  • libra_louis
  • 2017年02月17日 17:05
  • 5072

Android listview 滑动过程中不加载图片,停止时加载图片

今天闲来无事, 就测试了一下listview加载图片优化的功能, 在我们使用新浪微博的时候,细心的同学一定发现了,在滑动的过程中,图片是没有被加载的, 而是在滑动停止时,才加载图片了。 我们今...
  • ljx19900116
  • ljx19900116
  • 2014年12月03日 15:44
  • 6494

Android Listview滑动时不加载数据,停下来时加载数据,让App更优

转载:http://blog.csdn.net/yy1300326388/article/details/45153813 数据源配置(Adapter) package com.zhengsong...
  • jdsjlzx
  • jdsjlzx
  • 2015年05月22日 11:09
  • 15729

android listview 滑动过程中不加载图片,停止时加载图片

今天闲来无事, 就测试了一下listview加载图片优化的功能, 在我们使用新浪微博的时候,细心的同学一定发现了,在滑动的过程中,图片是没有被加载的, 而是在滑动停止时,才加载图片了。 我们今...
  • husongzhen
  • husongzhen
  • 2014年05月23日 16:06
  • 1633

简单实现 Android listview 滑动过程中不加载图片,停止时加载图片

public class TestAndroidListActivity extendsActivity {       privateint start_index, end_index;...
  • u013749540
  • u013749540
  • 2017年04月27日 21:29
  • 443

Android之 ListView滑动时不加载图片

listview加载图片优化的功能, 在我们使用新浪微博的时候,细心的同学一定发现了,在滑动的过程中,图片是没有被加载的, 而是在滑动停止时,才加载图片了。 我们今天就做一个这样的效...
  • u011068702
  • u011068702
  • 2016年10月24日 20:35
  • 363

Android ListView3 滑动不加载图片

在内存中,一张图片的加载可能
  • sunguanyong
  • sunguanyong
  • 2014年10月02日 22:48
  • 1764

ListView滑动时不加载图片

思路是: listview(Demo中是RecyclerView,但基本一致)在滑动时不直接执行加载图片的,已任务的方式存入一个队列中,待滚动停止后在执行任务,下面是主要代码实现 MainActi...
  • yuxiangxin5003
  • yuxiangxin5003
  • 2016年09月11日 17:46
  • 699

ListView滑动过程中禁止加载图片

listview加载图片优化的功能, 在我们使用新浪微博的时候,细心的同学一定发现了,在滑动的过程中,图片是没有被加载的, 而是在滑动停止时,才加载图片了。 我们今天就做一个这样的效果吧。 我...
  • LAMP_zy
  • LAMP_zy
  • 2015年11月24日 23:00
  • 750

listview滑动不加载图片

最近在做ListView分页显示,其中包括图片 和文字(先下载解析文字内容,再异步加载图片)发现每次点击下一页后,文字内容加载完毕,马上向下滑动,由于这时后台在用线程池异步下载图片,我每页有20条,也...
  • sinat_29874521
  • sinat_29874521
  • 2016年10月20日 17:12
  • 249
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android listview滑动过程中不加载图片,停止时加载图片。
举报原因:
原因补充:

(最多只允许输入30个字)