Trying to learn some new things and can't figure this one out, any help is appreciated. Given this simple code which is right from Google's documentation:

layers.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/first_image">
      <bitmap android:src="@drawable/android_red"
        android:gravity="center" />
    </item>
    <item android:id="@+id/second_image" android:top="10dp" android:left="10dp">
      <bitmap android:src="@drawable/android_green"
        android:gravity="center" />
    </item>
    <item android:id="@+id/third_image" android:top="20dp" android:left="20dp">
      <bitmap android:src="@drawable/android_blue"
        android:gravity="center" />
    </item>
</layer-list>

And main.xml:

<ImageView
    android:id="@+myImageView"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/layers" />

Question: How do I programmatically reference one of the drawables in the layer-list so I can change it to a different drawable?

Thanks.

So now I have my new drawable that I want to swap in in variable myImage correct? Now how do I get that into the layer-list? I assume I use findDrawableByLayerId and setDrawableByLayerId, but how exactly? Or I could be doing it completely wrong! Help!

What am I trying to do? Change the drawable that's displayed. For example suppose I had another drawable called "android_purple", how would I switch it in for the "android_green" drawable in the layer-list example above?

EDIT:

With my limited knowledge here is my code so far (which does not work, I get error that setDrawableByLayerId is undefined):

Resources res = get
Edit
Report