从arraylist填充listview

时间:2014-07-16 07:00:50

标签: java android listview

我想用数组列表填充列表视图。数组列表是从soap Web服务响应中获取的。
我用它如下:

mylistview = (ListView)findViewById(R.id.list);

listAdapter = new ArrayAdapter<Plant>(MainActivity.this,
             android.R.layout.simple_list_item_1, array_books);
mylistview.setAdapter(listAdapter);

在列表视图中显示以下内容:

Book{id=1; name= C++; imagepath=https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GW3ixVIGHLrrXb2yN_6i;}

Book{id=2; name= Java; imagepath=https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GW3ixVyN_6i;}

Book{id=3; name=Android; imagepath=https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GW3HLrrXb2yN_6i;}

我希望通过从图像视图中的路径中检索图像来显示图像,并仅显示图书的名称,如: 图像................ Java

当我在

中更改布局时
listAdapter = new ArrayAdapter<Book>(MainActivity.this,
                 android.R.layout.row, array_books);

它给出了错误,即行无法解析为资源。但是row.xml存在于布局文件夹中。如何更正此错误并在列表视图中显示我想要的项目?

3 个答案:

答案 0 :(得分:2)

试试这个

listAdapter = new ArrayAdapter<Plant>(MainActivity.this,
            R.layout.row, array_books);// Change  android.R.layout.row to R.layout.row

您的layout行中存在您的行,因此需要使用R.layout.row

查找

答案 1 :(得分:0)

使用R.layout.row而不是android.R.layout.row

答案 2 :(得分:0)

正如@Giru所指出的,如果您的xml文件row.xml在您的布局文件夹中,则无法通过android.R引用它。

android.R对象引用了与Android捆绑在一起的资源。

您的资源只是在your.package.R下,所以在您的文件中只删除“android”。

listAdapter = new ArrayAdapter<Plant>(MainActivity.this,
            R.layout.row, array_books);

你应该好好去。