Android 如何使用类似懒散列表概念的db响应来显示图像?
我是android应用程序的新开发人员。我正在努力显示来自.net db服务的图像。我正在使用SoapObject类与.net web服务通信。当我向db发送获取图像的请求时,它将返回编码字符串。我将这些字符串存储在字符串数组中。在延迟加载概念中,它们将URL存储到他们正在将该数组传递到LazyAdapter类中的字符串数组Android 如何使用类似懒散列表概念的db响应来显示图像?,android,lazy-loading,imagesource,Android,Lazy Loading,Imagesource,我是android应用程序的新开发人员。我正在努力显示来自.net db服务的图像。我正在使用SoapObject类与.net web服务通信。当我向db发送获取图像的请求时,它将返回编码字符串。我将这些字符串存储在字符串数组中。在延迟加载概念中,它们将URL存储到他们正在将该数组传递到LazyAdapter类中的字符串数组 public View getView(int position, View convertView, ViewGroup parent) { View vi=
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
if(convertView==null)
vi = inflater.inflate(R.layout.item1, null);
TextView text=(TextView)vi.findViewById(R.id.txtViewTitle);;
ImageView image=(ImageView)vi.findViewById(R.id.imgViewLogo);
text.setText(messages[position]);
try {
imageLoader.DisplayImage(data[position], activity, image);
} catch (Exception e) {
e.printStackTrace();
}
return vi;
}
请求:
String photoXml="<spGetUserPhoto><UserID>148</UserID></spGetUserPhoto>";
String response=new ParseXMLString().getUserPhotos(newGeneric().photInfo(photoXml));
String[] photos=new String[response.size()];
for(int i=0;i<response.size();i++)
{
photos[i]=photoResponse;
}
list=(ListView)findViewById(R.id.list);
adapter=new LazyAdapter(this, photos);
list.setAdapter(adapter);
从上面的代码中,当响应完成时,我正在查看图像。在查看图像之前,我得到的是空白屏幕,但不是默认图像
如何显示默认图像直到响应完成
有人帮我吗
首先,图像数据是二进制的,而不是字符串…@ingsaurabh我正在按如下方式转换显示图像类中的enitire字符串数组:byte[]imgArry=Base64.解码(照片);位图位图=位图工厂.decodeByteArray(imgArry,0,imgArry.length);使用
imageLoader.DisplayImage(数据[位置]、活动、图像)下载图像之前
您应该将默认图像设置为ImageView
。之所以需要这样做,是因为convertview实际上是旧的视图,该视图正在重复使用,并且已经具有以前下载的图像。