【发布时间】:2011-05-18 15:33:21
【问题描述】:
在我的应用程序中,我试图从存储在 web 中的 xml 文件形成网格视图。
以下是我的代码
grid = (GridView)findViewById(R.id.gridView1);
imageXMLfn();
grid.setAdapter(new ImageAdapter(this));
private void imageXMLfn()
{
try
{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setIgnoringComments(true);
factory.setCoalescing(true);
factory.setNamespaceAware(false);
factory.setValidating(false);
DocumentBuilder parser = factory.newDocumentBuilder();
URL url = new URL(UserManual.IMAGE_URL);
Log.e("ViewImage3",""+UserManual.IMAGE_URL);
Document document= parser.parse(new InputSource(url.openStream()));
NodeList sections = document.getElementsByTagName("application");
numSections = sections.getLength();
for (int i = 0; i < numSections; i++)
{
Element section = (Element) sections.item(i);
if(section.hasChildNodes()==true)
{
NodeList section1=section.getChildNodes();
for(int j=0;j<section1.getLength();j++)
{
if(section1.item(j).hasChildNodes()==true)
{
for(int k=0;k<section1.item(j).getChildNodes().getLength();k++)
{
xmlvalue=String.valueOf(section1.item(j).getChildNodes().item(k).getNodeValue()).trim();
arl.add(xmlvalue);
}
}
}
}
}
}
catch(Exception e)
{
System.out.println(e);
Log.e("ViewImage Error1",e.getMessage());
}
Iterator<String> itr = arl.listIterator();
int z=0,x=0,increment=0;
while (itr.hasNext())
{
id = itr.next();
img = img+id;
z++;
}
}
public class ImageAdapter extends BaseAdapter
{
private Context myContext;
private String[] myRemoteImages = {id};
public ImageAdapter(Context c)
{
this.myContext = c;
}
}
要么我只获得存储在该 url 中的第一张图像,要么我没有获得任何其他图像
以下是我试图从中获取图像的链接
http://94.23.207.167/websiteIphone/Admin/XML/Santa.xml
【问题讨论】:
-
获取图像是什么意思?它哪里出错了?你有例外吗?您可以从 xml 文件中读取所有图像吗?适配器中的所有图像都可用吗?网格视图是否可见,构造正确?您需要更具体地说明什么是错误的、它做了什么、您期望它做什么以及什么是有效的。
-
我能够读取所有图像的名称。在我的 gridView 中,我只得到 xml 文件中的最后一个图像。我无法查看 xml 文件中的所有图像。
-
那适配器呢?它包含图像吗?
-
它只包含一张图片....
-
你的xml有点乱,你需要从这个xml中输出什么样的图片呢?
还是 ?顺便说一句,使用这样的标签 我的意思是 [\d] 不是一个好习惯...
标签: java android xml gridview iterator