【发布时间】:2011-11-17 18:27:30
【问题描述】:
我在安卓系统中工作。我正在创建一个音乐应用程序。在这个应用程序中,我想在列表中显示歌曲的标题和艺术家的名字。 这是我的代码:-
String[] title_of_song={"title1","title2","title3","title4","title5"};
String[] artist_of_song={"artist1","artist2","artist3","artist4","artist5"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.row_button, R.id.TextView_songName, title_of_song);
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this, R.layout.row_button, R.id.TextView_byArtist, artist_of_song);
list.setAdapter(adapter);
list.setAdapter(adapter1); //**this is creating error**
这是造成列表无法 setAdapter 两次的问题。所以请告诉我解决方案,以便我可以为歌曲的标题和艺术家姓名设置 setAdapter。 这是造成列表无法两次设置适配器的问题。所以请告诉我解决方案,以便我可以为歌曲的标题和艺术家姓名设置 setAdapter。
提前谢谢你。
【问题讨论】:
-
title1 表演者是艺术家 1 等等?换句话说,标题和艺术家之间有联系吗?
-
是的,先生,两者都是相关的。意味着我们为每首歌有两个数组,一个数组包含歌曲的标题,第二个数组包含该歌曲的艺术家姓名。换句话说,如果我使用 title_of_song[1] 和 Artist_of_song[1],那么这些是歌曲 1 的信息。意味着两者相互关联。
-
好的,所以当你想显示它时。或者?
-
所以 Umesh 给了你一个很好的答案......你需要使用从 ArrayAdapter
派生的 Adapter class Song { public String title; public String artist; }或使用 SimpleAdapter 并将数据存储在 List> where单首歌曲是 HashMap 的实例,例如 {"title": "title1", "artist" : "artist1"} 请参阅此答案以获取更多详细信息stackoverflow.com/questions/6305899/custom-listview-android/… -
你想要什么?您想在活动中的某些条件下交替显示两个列表,还是想在一个列表中显示到不同的字符串数组?
标签: android