Примечание Я ссылаюсь на некоторые комментарии в описании своей проблемы, но они находятся за пределами контейнера кода, вам нужно прокрутить вправо, чтобы увидеть комментарии.
Итак, я пытаюсь получить рисунок (изображение) из R.drawable, но столкнулся с некоторыми проблемами. Я начал с попытки 1 (проверьте комментарий к коду) и получил изображение со всеми границами = 0. Но затем я прочитал здесь, что getDrawable () может вернуть ложное масштабирование изображения, поэтому я последовал уведомлению и попытался выполнить попытку 2 (снова проверьте комментарий к коду), но в этом случае объект рисования был нулевым.
Вот код:
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% уверенностью, что mImage был действительным, но все равно не работал.