Как бы я настроить этот enum, чтобы вернуть изображение, которое я хочу? - PullRequest
2 голосов
/ 26 февраля 2011

Я пытаюсь настроить это перечисление так, чтобы оно могло возвращать правильное изображение, хотя я пытаюсь найти способ включить контекст, поскольку он находится в отдельном классе.

public enum CubeType
{
    GREEN { 
        public Drawable getImage()
        {
            return Context.getResources().getDrawable( R.drawable.cube_green );
        }
    };

    abstract public Drawable getImage();
}

Я получаю ошибку:

Невозможно сделать статическую ссылку на нестатический метод getResources () из типа Context

Ответы [ 2 ]

3 голосов
/ 26 февраля 2011

Полагаю, у вас может быть контекст для параметра getImage ():

...
GREEN { 
    public Drawable getImage(Context c)
    {
        return c.getResources().getDrawable( R.drawable.cube_green );
    }
};
...

}

1 голос
/ 26 февраля 2011

Почему бы просто не определить перечисление в классе, который упаковывает перечисление, и HashMap, связывающее значения перечисления с идентификаторами ресурса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...