【发布时间】:2019-01-02 20:46:57
【问题描述】:
我在 android 中有一个可扩展视图的代码,它将有限的数据加载到适配器中。我想自定义数据,但我坚持使用 Arrays.asList() 语法。
这里是现在加载数据的代码:
public static List<Genre> makeGenres()
{
return Arrays.asList(makeRockGenre(),
makeJazzGenre(),
makeClassicGenre(),
makeSalsaGenre(),
makeBluegrassGenre());
}
public static Genre makeRockGenre()
{
return new Genre("Rock", makeRockArtists(), R.drawable.ic_music_note_black_24dp);
}
public static List<Artist> makeRockArtists()
{
Artist queen = new Artist("Queen", true);
Artist styx = new Artist("Styx", false);
Artist reoSpeedwagon = new Artist("REO Speedwagon", false);
Artist boston = new Artist("Boston", true);
return Arrays.asList(queen, styx, reoSpeedwagon, boston);
}
注意:-其他类似的方法在此略过。
如您所见,makeGenres() 返回一个通过 Arrays.asList() 创建的列表。这里 ArraysasList 调用了五个方法,每个方法都返回一个数组。我想做的不是调用这五个方法,而是想用 'n' 个数组创建 Arrays.asList()。
我需要这样的东西:
public static List<Genre> makeGenres()
{
return MakeArrayAsList();
}
public static List<Genre> MakeArrayAsList()
{
for(int i=0;i<20;i++)
{
//add 20 array items like this
newGenre("Rock",makeRockArtists(),R.drawable.ic_music_note_black_24dp);
}
//make Array.asList() using those 20 items to return
// return Arrays.asList
}
基本上,就好像我可以在 Arrays.asList 中调用 makeRockGenre() 'n' 次,而不是原始代码中的五个方法。
【问题讨论】:
-
你可以使用
ArrayList、add所有元素然后返回ArrayList吗?
标签: java android arrays list arraylist