listview滑动时不加载图片,并且加载只加载当前屏幕上的图片 请问有无人做过关于listview滑动时不加载图片,一加载就只加载当前屏幕的item的图,其他没加载的都用默认图片填充。呃,不知道我说得够不够明白呢,就好像新浪微博之类的客户端,几乎所有高效率的listview上下滑动都是这个效果,请教一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 listview已经做了内部优化,采用双缓存技术让当前可见窗口内容加载,不再当前窗口暂时不加载(缓存),新浪微博使用的就是listview控件(android) 没你说的那么复杂,开一个线程异步下载图片,下载完成后设置图片即可。给你大概的写了一下。//主activityprivate class MainActivity extend Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } //下载图片的方法 new ImageDownloader.imageDownload("...",new ImageDownloader.ImageDowloaderCallback(){ onDownloadSuccess(){ //通知主线程更新view即可。 }; }) }//图片下载类public class ImageDownloader{ void imageDownload(url,ImageDowloaderCallback){ new ImageDownTask().execute(); } private class ImageDownTask extends AsyncTask<String, Void, Bitmap>{ @Override protected Bitmap doInBackground(String... params) { //... return null; } @Override protected void onPostExecute(Bitmap result) { //通知activity下载图片完成,方法回调 super.onPostExecute(result); } } public static interface ImageDowloaderCallback{ onDownloadSuccess(); }} 1、判断listView状态AbsListView.OnScrollListener onScrollListener = new AbsListView.OnScrollListener() {// ListView // 触摸事件 public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { } public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { case AbsListView.OnScrollListener.SCROLL_STATE_FLING:// 滑动状态 threadFlag = false; break; case AbsListView.OnScrollListener.SCROLL_STATE_IDLE:// 停止 threadFlag = true; startThread(); break; case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:// 触摸listView threadFlag = false; break; default: // Toast.makeText(contextt, "default", // Toast.LENGTH_SHORT).show(); break; } } };2、获取当前屏幕上显示的items:mListView.getFirstVisiblePosition();mListView.getLastVisiblePosition(); 那怎么在adapter的getView里面怎么使用呢?或者说拿到了这些数据在哪里使用呢? android平板怎么实现自动程序切换? 【在线等】Android程序如何判断手机待机桌面已经有相同的图标了 那位大侠了解android日历模块 讲讲 谢谢!!!!!!!!!!!! Android 摄像头拍摄的照片 保存的照片为水平的 怎样改成垂直的? 通过Intent进入wifi settings的应用 android 回调接口的设计,接收数据不到指定界面的接口上 安卓开发 访问网络 4.2系统下调用getResponseCode 抛异常 下载并解析xml失败,出现空指针 如何获取控件位置 关于Androidyou 类型转换 android4.0发送DatagramSocket不成功。
//主activity
private class MainActivity extend Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
//下载图片的方法
new ImageDownloader.imageDownload("...",new ImageDownloader.ImageDowloaderCallback(){
onDownloadSuccess(){
//通知主线程更新view即可。
};
})
}//图片下载类
public class ImageDownloader{
void imageDownload(url,ImageDowloaderCallback){
new ImageDownTask().execute();
}
private class ImageDownTask extends AsyncTask<String, Void, Bitmap>{
@Override
protected Bitmap doInBackground(String... params) {
//...
return null;
}
@Override
protected void onPostExecute(Bitmap result) {
//通知activity下载图片完成,方法回调
super.onPostExecute(result);
}
}
public static interface ImageDowloaderCallback{
onDownloadSuccess();
}
}
AbsListView.OnScrollListener onScrollListener = new AbsListView.OnScrollListener() {// ListView
// 触摸事件 public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
} public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case AbsListView.OnScrollListener.SCROLL_STATE_FLING:// 滑动状态
threadFlag = false;
break;
case AbsListView.OnScrollListener.SCROLL_STATE_IDLE:// 停止
threadFlag = true;
startThread();
break;
case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:// 触摸listView
threadFlag = false;
break;
default:
// Toast.makeText(contextt, "default",
// Toast.LENGTH_SHORT).show();
break;
}
}
};
2、获取当前屏幕上显示的items:
mListView.getFirstVisiblePosition();
mListView.getLastVisiblePosition();
那怎么在adapter的getView里面怎么使用呢?或者说拿到了这些数据在哪里使用呢?