首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在安卓系统中制作定制Arrays.asList

如何在安卓系统中制作定制Arrays.asList
EN

Stack Overflow用户
提问于 2018-07-26 07:18:58
回答 1查看 283关注 0票数 0

我在android中有一个可扩展视图的代码,它将有限的数据加载到适配器中。我想要定制数据,但我被Arrays.asList()语法所困扰。

下面是现在加载数据的代码:

代码语言:javascript
复制
    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调用了5个方法,每个方法返回一个数组。我想要做的不是调用这五个方法,而是创建具有'n'个数组的Arrays.asList()。

我需要像这样做的东西:

代码语言:javascript
复制
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'次,而不是原始代码中的五个方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-26 09:54:27

你想用动态数量的参数调用Arrays.asList吗?

Arrays.asList是可变的,所以我们可以向它传入一个数组:

代码语言:javascript
复制
public static List<Genre> MakeArrayAsList() {
    Genre[] genres = new Genre[20];
    for(int i=0;i<20;i++) {
        //add 20 array items like this
        genres[i] = newGenre("Rock",makeRockArtists(),R.drawable.ic_music_note_black_24dp);
    }
    //make Array.asList() using those 20 items to return
    // return Arrays.asList  
    return Arrays.asList(genres);
}

但是您可能实际上并不想使用Arrays.asList

你到底想要什么?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51528943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档