千家信息网

ListView图片下载优化造成的跳变怎么解决

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"ListView图片下载优化造成的跳变怎么解决",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"ListView图片下载优化造成的跳变怎么解
千家信息网最后更新 2026年11月01日ListView图片下载优化造成的跳变怎么解决

本篇内容主要讲解"ListView图片下载优化造成的跳变怎么解决",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"ListView图片下载优化造成的跳变怎么解决"吧!

public class MainActivity extends Activity {

HashMap map = new HashMap();

private ListView listview;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

listview = (ListView)findViewById(R.id.listView1);

MyApapter myApapter = new MyApapter();

listview.setAdapter(myApapter);

}

class User

{

ImageView p_w_picpathview;

ProgressBar pb;

TextView tv;

Button button;

}

class MyApapter extends BaseAdapter

{

@Override

public View getView(int position, View convertView, ViewGroup parent) {

View view = null;

User user = new User();

LayoutInflater inflater = getLayoutInflater();

if(convertView==null)

{

view = inflater.inflate(R.layout.itmp, null);

user.p_w_picpathview = (ImageView)view.findViewById(R.id.p_w_picpathView1);

user.pb = (ProgressBar)view.findViewById(R.id.progressBar1);

user.button = (Button)view.findViewById(R.id.button1);

user.tv = (TextView)view.findViewById(R.id.textView1);

view.setTag(user);

}else

{

view = convertView;

user = (User)view.getTag();

}

//下载图片

//设置图片还未开始下载时的状态

user.p_w_picpathview.setImageResource(R.drawable.ic_launcher);

Bitmap bitmap = map.get(position);

if (bitmap==null)

{

MyAsyncTask myp_w_picpathview = new MyAsyncTask(user.p_w_picpathview,position,user.pb);

myp_w_picpathview.execute("http://192.168.56.1:8080/service/qq"+position+".png");

}else

{

user.p_w_picpathview.setImageBitmap(bitmap);

}

return view;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return 10;

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return null;

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return 0;

}

}

class MyAsyncTask extends AsyncTask

{

int position;

ImageView p_w_picpathview;

ProgressBar pb;

public MyAsyncTask(ImageView p_w_picpathview,int position,ProgressBar pb) {

this.p_w_picpathview = p_w_picpathview;

this.position = position;

this.pb = pb;

}

@Override

protected Bitmap doInBackground(String... params) {

Bitmap bitmap = null;

try {

URL url = new URL(params[0]);

URLConnection connection = url.openConnection();

InputStream is = connection.getInputStream();

bitmap = BitmapFactory.decodeStream(is);

} catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return bitmap;

}

@Override

protected void onPostExecute(Bitmap result) {

//得到当前屏幕可见第一行

int fvb = listview.getFirstVisiblePosition();

int lvp = listview.getLastVisiblePosition();

if (position>=fvb&&position<=lvp)

{

p_w_picpathview.setImageBitmap(result);

}

map.put(position, result);

super.onPostExecute(result);

}

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}

到此,相信大家对"ListView图片下载优化造成的跳变怎么解决"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

图片 图片下载 内容 学习 实用 更深 一行 兴趣 实用性 实际 屏幕 操作简单 方法 更多 朋友 状态 网站 频道 查询 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 苏州找大状互联网科技有限公司 互联网科技活动banner 易互联网科技有限公司 深圳互联网络科技有限公司 远信互联网科技 紫鲸互联网科技 苏州互联网科技贷款公司 镁科技互联网资讯平台 互联网科技股午盘股票涨跌 深圳市运趣互联网科技有限公司 互联网科技博主是什么意思 科技与互联网哪个更好 互联网大会黑科技排名 宁夏科技产业互联网案例 中国航天科技大学国际工业互联网 哈尔滨屹滨互联网科技有限公司 互联网科技人工智能实验室 互联网在线教育科技创业 互联网科技大赛获奖感言 广东鹅鹅鹅互联网科技有限公司 科技互联网产品 互联网科技有限公司经营范围 奇酷互联网络科技 伴你行互联网科技有限公司 海南科技产业互联网平台 互联网汽车科技小镇 未来五年的互联网科技 互联网数据科技专业 陕西九四连强互联网科技有限公司 现代互联网科技公司
0