So übergeben Sie ein ganzes Array von Farbressourcen-IDs von array.xml an SwipeRefreshLayout.setColorSchemeResources

Ich habe das SwipeRefreshLayout von Android zum Laufen gebracht und versuche, die Farben über den gesamten Pull anzupassen, um die gesamte App zu aktualisieren. Um dem DRY-Prinzip zu folgen, habe ich versucht, die gewünschten Farben wie folgt nach array.xml zu verschieben:

<resources>
    <array name="swipeRefreshColors">
        <item>@color/pink</item>
        <item>@color/green</item>
    </array>
</resources>

Allerdings, wenn ich versuche, sie in den Swipe zu importieren, um sie zu aktualisieren:

swipeRefreshLayout.setColorSchemeResources(R.array.swipeRefreshColors);

Ich erhalte eine Resources $ NotFoundException:

android.content.res.Resources$NotFoundException: Resource ID #0x7f060001
            at android.content.res.Resources.getValue(Resources.java:1233)
            at android.content.res.Resources.getColor(Resources.java:887)
            at android.support.v4.widget.SwipeRefreshLayout.setColorSchemeResources(SwipeRefreshLayout.java:477)

Ich habe ein paar Dinge ausprobiert, wie das Subklassifizieren des SwipeRefreshLayout-Codes und das harte Codieren der Farben, aber es ist definitiv ein Hack. Es muss eine Möglichkeit geben, eine Reihe von Farben aus der Aktivität zu referenzieren, um sie anzupassen.

Jede Hilfe wäre sehr dankbar!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage