您现在的位置是:首页 > 编程 > 

android gridview加载本地图片,android GridView组件多列加载图片时错位问题

2025-07-18 18:28:23
当 GridView  为1列时没有任何问题当设置多列就出现图片错位重复问题public class MainActivity extends AppCompatActivity {private GridView G1;private LruCache   Lru;String[] img ={http://pic1.win4000/pic/6/02/f5ae6d2ae4_25

当 GridView  为1列时没有任何问题当设置多列就出现图片错位重复问题public class MainActivity extends AppCompatActivity {

private GridView G1;

private LruCache   Lru;

String[] img ={

http://pic1.win4000/pic/6/02/f5ae6d2ae4_250_50.jpg,

http://pic1.win4000/pic/1/29/81f2a6941_250_50.jpg,

http://pic1.win4000/pic/d/dc/95bb6142d5_250_50.jpg,

http://pic1.win4000/pic/7/54/bb4112b4_250_50.jpg,

http://pic1.win4000/pic/d/87/642d5de424_250_50.jpg,

http://pic1.win4000/pic/c/8c/4d004a28f5_250_50.jpg,

http://pic1.win4000/pic/4/f8/9f2e1e129c_250_50.jpg,

http://pic1.win4000/pic/8/40/b90bdf95f_250_50.jpg,

http://pic1.win4000/pic/d/99/e7b6f4e7_250_50.jpg,

http://pic1.win4000/pic/1/44/8b046cb009_250_50.jpg,

http://pic1.win4000/pic/2/19/8ac8d7ad0_250_50.jpg,

http://pic1.win4000/pic/2/87/7d1cbf175_250_50.jpg,

http://pic1.win4000/pic/7/c5/cd8f5c8d1b_250_50.jpg,

http://pic1.win4000/pic/0/6c/8c8f4e42_250_50.jpg,

http://pic1.win4000/pic/5/c1/7bbec56d_250_50.jpg,

http://pic1.win4000/pic/2/f5/abc84bceac_250_50.jpg

};

@Override

protected void onCreate(Bundle savedInstanceState) {

(savedInstanceState);

setContentView(R.layout.activity_main);

G1 = findViewById(R.id.Gridv);

int max = (int) Runtime.getRuntime().maxMemory() / 1024;

int siz = max / 5;

Lru = new LruCache(siz){

@Override

protected int sizeOf(String key, Bitmap value) {

return super.sizeOf(key, value) / 1024;

}

};

G1.setAdapter(new ShiPei());

}

//适配器

class ShiPei extends BaseAdapter{

Img im;

@Override

public int getCount() {

return img.length;

}

@Override

public Object getItem(int position) {

return null;

}

@Override

public long getItemId(int position) {

return 0;

}

@Override

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

if(convertView == null){

convertView = LayoutInflater.from().inflate(R.layout.imgtu,null);

im =new Img();

im.Iv = convertView.findViewById(R.id.imageView);

convertView.setTag(im);

}else {

im = (Img) convertView.getTag();

}

new YiBu(img[position]).execute(img[position]);

return convertView;

}

class Img{

ImageView Iv;

}

class YiBu extends AsyncTask{

String url;

public YiBu(String x){

url = x;

}

@Override

protected Bitmap doInBackground(String... strings) {

Bitmap bitmap;

String u1 = strings[0];

bitmap = Lru.get(u1);

if(bitmap == null){

bitmap = getBitmap(u1);

Lru.put(u1,bitmap);

}

return bitmap;

}

@Override

protected void onPostExecute(Bitmap bitmap) {

(bitmap);

im.Iv.setImageBitmap(bitmap);

}

public Bitmap getBitmap(String s){

Bitmap b = null;

OkHttpClient client = new OkHttpClient();

Request R = new Request.Builder().url(s).build();

try {

Respe respe = (R).execute();

byte[]  byt =  respe.body().bytes();

b = BitmapFactory.decodeByteArray(byt,0,byt.length);

} catch (IOException e) {

e.printStackTrace();

}

return b;

}

}

}

来个大佬看下 网上搜半天什么设置tag验证得方式 也尝试过 一样没用

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1109000.html

相关标签:无
上传时间: 2025-07-16 13:40:06
留言与评论(共有 8 条评论)
本站网友 过敏性鼻炎的偏方
23分钟前 发表
//pic1.win4000/pic/4/f8/9f2e1e129c_250_50.jpg
本站网友 imei查询
29分钟前 发表
//pic1.win4000/pic/4/f8/9f2e1e129c_250_50.jpg
本站网友 人才招聘网站
17分钟前 发表
 Bitmap value) {return super.sizeOf(key
本站网友 女性生殖器图
0秒前 发表
http
本站网友 菜百黄金价格今天多少一克
14分钟前 发表
 value) / 1024;}};G1.setAdapter(new ShiPei());}//适配器class ShiPei extends BaseAdapter{Img im;@Overridepublic int getCount() {return img.length;}@Overridepublic Object getItem(int position) {return null;}@Overridepublic long getItemId(int position) {return 0;}@Overridepublic View getView(int position
本站网友 射频除皱
22分钟前 发表
bitmap);}return bitmap;}@Overrideprotected void onPostExecute(Bitmap bitmap) {(bitmap);im.Iv.setImageBitmap(bitmap);}public Bitmap getBitmap(String s){Bitmap b = null;OkHttpClient client = new OkHttpClient();Request R = new Request.Builder().url(s).build();try {Respe respe = (R).execute();byte[]  byt =  respe.body().bytes();b = BitmapFactory.decodeByteArray(byt
本站网友 拉过勾的
27分钟前 发表
 Bitmap value) {return super.sizeOf(key