gpt4 book ai didi

android - ViewBinder 的问题

转载 作者:行者123 更新时间:2023-11-29 18:21:36 27 4
gpt4 key购买 nike

我需要显示一个带有一些图像的 ListView,我正在使用以下代码:

    dataText = (TextView)findViewById(R.id.data);
dataText.setText(camping.stringIn + " >> " + camping.stringOut);

l = name.length;

ArrayList<tipologia> tipologieList=new ArrayList<tipologia>();

tipologia[] tip = new tipologia[l];

for (int i = 0; i < l; i++)
{
int rand = new Random().nextInt(3);
availability[i] = String.format("%d", rand);
tip[i] = new tipologia(image[i]);

}

for(int i=0; i<tip.length; i++)
{
tipologieList.add(tip[i]);
}

ArrayList<HashMap<String, Object>> data=new ArrayList<HashMap<String,Object>>();


for(int i=0;i<tipologieList.size();i++){
tipologia t = tipologieList.get(i);

HashMap<String,Object> tipologieMap = new HashMap<String, Object>();

tipologieMap.put("image", t.getImm());

data.add(tipologieMap);
}


String[] from={"image"};
int[] to={R.id.personImage};

SimpleAdapterMod adapter=new SimpleAdapterMod(
getApplicationContext(),
data,
R.layout.tipologia,
from,
to);

adapter.setViewBinder(new ViewBinder() {

public boolean setViewValue(View view, Object data,
String textRepresentation) {

if(data instanceof String && view instanceof Immagine ){

((Immagine)view).loadFromURL((String)data);

}
return true;
}
else{
return false;
}
}
});

我有一个问题:在列表中有 4 行的空间,当我向下滚动时,碰巧第五行的图像与第一行的图像相同,并且后续图像也是错误的。

谁能告诉我为什么?

最佳答案

那是因为第一行的 View 被第五行重用,因为第一行现在不再可见。问题出在您的适配器类中。

getView()方法中,不要重复使用convertview,而是每次返回一个新 View 。这不是推荐的解决方案,但作为最后的手段使用。

关于android - ViewBinder 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5077884/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com