我有一个XML文件:
<root>
<DATA>
<NAME>ABC</NAME>
<IMAGE>http://a2.ak.lscdn.net/imgs/c18196f8-374b-47d2-ad9a-3f2dec64da76/100_q60_.jpg</IMAGE>
</DATA>
<DATA>
<NAME>lmn</NAME>
<IMAGE>http://w3devadv.liveproj.com/image.php?img=/deals/2011/0905/13152281143500.jpg</IMAGE>
</DATA>
</root>
在这里我得到了名字的数据,我没有得到图像链接。
它显示错误java.net.MalformedURLException: Protocol not found:
我已修改了您<IMAGE>
的第一个<IMAG'>
标记,这是不正确的...
答案 0 :(得分:1)
像这样创建xml
<data name="abc" image="path" ..../>
然后去做
你必须在
画画 public void startElement(String namespaceURI, String localName,
String qName, Attributes atts) throws SAXException
方法然后存储它Vector Vectors = new Vector(); 并在获取字符串中的所有图像路径后,然后在可绘制的矢量中添加图像
try {
images.add(drawable_from_url(atts.getValue("image"), "src"));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
在适配器中的setimage背景之后 holder.img1.setBackgroundDrawable(images.get(位置));
and drawable method is
Drawable drawable_from_url(String url, String src_name) throws java.net.MalformedURLException, java.io.IOException
{
return Drawable.createFromStream(((java.io.InputStream)new java.net.URL(url).getContent()), src_name);
}
答案 1 :(得分:0)
是的,你必须显示代码,但你可以尝试这个(我在我的RSS应用中使用这个方法):
在你的列表适配器中:
View rowView = inflater.inflate(R.layout.imageText_layout, null);
JSONObject jsonImageText = getItem(position);
TextView textView = (TextView) rowView.findViewById(R.id.feed_text);
ImageView imageView = (ImageView) rowView.findViewById(R.id.feed_image);
try {
if (jsonImageText.get("imageLink") != null){
System.out.println("XXXX Link found!");
String url = (String) jsonImageText.get("imageLink");
URL feedImage= new URL(url);
HttpURLConnection conn= (HttpURLConnection)feedImage.openConnection();
InputStream is = conn.getInputStream();
Bitmap img = BitmapFactory.decodeStream(is);
imageView.setImageBitmap(img);
}
Spanned text = (Spanned)jsonImageText.get("text");
textView.setText(text);
在新布局中创建行viev(imageText_layout):
<ImageView android:id="@+id/feed_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/feed_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffcc00" />
在articleList中加载文章,将buildJsonObject加载到u:
current.put("text", Html.fromHtml(sb.toString()));
current.put("imageLink", imgLink);