当用户单击一个按钮时,会显示一个新的 ListFragment。该片段将包含专辑列表及其关联的艺术家姓名。
我创建了自己的类AlbumItem (String name, String artist)
,name
其中包含专辑的标题和artist
相应的艺术家姓名:
public class AlbumItem {
private String AlbumName;
private String AlbumArtist;
public AlbumItem(){
}
public AlbumItem(String name, String artist){
this.AlbumName = name;
this.AlbumArtist = artist;
}
public String getAlbumName() {
return AlbumName;
}
public void setAlbumName(String AlbumName) {
this.AlbumName = AlbumName;
}
public String getAlbumArtist() {
return AlbumArtist;
}
public void setAlbumArtist(String AlbumArtist) {
this.AlbumArtist = AlbumArtist;
}
}
然后我编写了我的自定义适配器,它将专辑名称和艺术家名称与我的 ListView 行中的正确 TextView 相关联。
那么我可以声明一个 AlbumItem 的 ArrayList 并像这样填充它:
ArrayList<AlbumItem> arrayList;
arrayList.add(new AlbumItem ("Album's title", "Artist");
现在我有几个问题:
1)我走的路合适吗?我一直在学习填充这样的列表视图,并且我很喜欢使用这种技术(自定义项目类 + ArrayList + CustomAdapter),但我正在做一个音乐播放器,我想查询专辑列表并更新异步列表视图,以便 UI 不会被阻塞。我不知道是否可以按照我的方式将数据加载到 ArrayList 中。
2) 如何异步填充这个 ArrayList ?使用 LoaderManager/CursorLoader 或 Asyntask 或其他什么?(我的目标是 Android 4.0)
谢谢你的建议。