繁体   English   中英

从arraylist填充listview

[英]Populating listview from arraylist

我想用数组列表填充列表视图。 阵列列表是从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;}

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

当我更改布局

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

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

尝试这个

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

您的行出现在layout因此需要使用R.layout.row查找

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

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

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

您的资源仅在your.package.R下,因此只需删除文件“ android”即可。 并有

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

而且你应该很好走。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM