/ / Получаване на drawable от id връща null или празно изображение в зависимост от метода - java, android, android-drawable

Извличането от игъра връща нулево или празно изображение в зависимост от метода - java, android, android-drawable

Забележка Аз се позовавам на някои коментари в описанието на проблема си, но коментарите са извън контейнера за код, трябва да превъртите надясно, за да видите коментарите.

Така че, аз се опитвам да се drawable (изображение) от R.drawable, но е ударил в някои въпроси.Аз започнах с опит 1 (проверка код коментар) и имам изображение с всички граници = 0. Но след това прочетох тук че getDrawable () може да върне фалшиво мащабиране на изображението, така че следвах съобщението и се опитах опит 2 (проверка код коментар отново), но в този случай drawable е нула.

Ето кода:

private void setCurrentImage(){
TextView text = (TextView)profileView.findViewById(R.id.profile_image);
//mImage = "flower";
int id = R.drawable.flower;
if(mImage.equals("flower"))
id = R.drawable.flower;
if(mImage.equals("event_splash"))
id = R.drawable.event_splash;
if(mImage.equals("football"))
id = R.drawable.football;
if(mImage.equals("foxhead"))
id = R.drawable.foxhead;
if(mImage.equals("computer"))
id = R.drawable.computer;
//Drawable image = getResources().getDrawable(R.drawable.foxhead);          //attempt 1
TypedArray attr = getActivity().obtainStyledAttributes(new int[]{id});      //attempt 2
Drawable image = attr.getDrawable(0);                                       //attempt 2
Log.d("bounds", image.getBounds().toString());
text.setCompoundDrawables(image, null, null, null);
}

Както можете да видите на коментираната линия mImage = "flower" Опитах със 100% сигурност, че изображението е валидно, все още не работи.

Отговори:

0 за отговор № 1

от документа TextView:

публичен невалиден наборCompoundDrawables (ляв за чертане, горен за чертане, Дял на чертежа, червено дъно

Задава чертежите (ако има такива) да се показват наналяво от, по-горе, вдясно от и под текста. Използвайте null, ако не го направите искам Drawable там. Рисунките вече са имали setBounds (Rect) се извиква.

Затова, след като изтеглите чертежа, трябва да се обадите на setBounds, за да определите границите, където искате да се показва изображението ви