java - 将 indexOf 与可绘制资源列表一起使用时出现问题

标签 java android list drawable indexof

将indexOf与可绘制资源列表一起使用时遇到问题。我的索引 i 给我的值为 -1 (它没有找到可绘制资源)。

Booster booster = new Booster();
Booster booster1 = booster.findBooster(R.drawable.booster_empty);

public Booster findBooster(int boosterID) {

    int[] boosterIDs = new int [] {
            R.drawable.booster_empty,
            R.drawable.booster_posts_1,
    };

    String[] names = new String[] {
            "blah",
            "blah"
    };

    String[] descriptions = new String[] {
            "blah",
            "blah"
    };

    String[] boosts = new String[] {
            "blah",
            "blah"
    };

    int i = Arrays.asList(boosterIDs).indexOf(boosterID);

    Booster booster = new Booster(boosterID, names[i], descriptions[i], boosts[i]);

    return booster;
}

我知道这可能是我错过的非常简单的事情。请帮忙!

最佳答案

对原始数组调用 Arrays.asList() 将生成一个包含一个元素(即数组)的列表,而不是您预期的数组到列表的转换。尝试将 int[] 更改为 Integer[]

关于java - 将 indexOf 与可绘制资源列表一起使用时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27219917/

相关文章:

java - 循环遍历 json 文件,将键值附加到列表

启动 Activity 时 Android 屏幕闪烁

android - 在 Android Kotlin 中创建类扩展 AsyncTask 而不泄漏上下文对象

Python生成所有可能的矩阵组合

java - 如何在抽屉导航标题中更改 TextView 的文本?

java 比较两个 Pattern 对象

android - 找不到生命周期 :common-java8 library

scala - 如何在scala中对列表列表执行转置?

python - 在循环中按索引对列表中的元素求和

java - 在java中获取通过postman发送的 header