2016-05-17 16 views
1

Ich versuche Bild Ressource zu setzen mit Stringsnicht auflösen kann Methode setCompoundDrawablesWithIntrinsicBounds

ich ein Problem mit der Einstellung setCompoundDrawablesWithIntrinsicBounds haben, hält sie mir zu sagen,

cannot resolve method setCompoundDrawablesWithIntrinsicBounds(android.graphics.drawable.Drawable, 0, 0, 0); 

Ich habe durch online überprüft, auch auf Stackoverflow, mein Implementierung scheint korrekt, aber ich kann nicht kompilieren.

String uri = "drawable/my_drawable_image"; 
int imageResource = getResources().getIdentifier(uri, null, getActivity().getPackageName()); 
Drawable image = getResources().getDrawable(imageResource); 
myTextView.setCompoundDrawablesWithIntrinsicBounds(image, 0 ,0 , 0); 

Bitte, was mache ich falsch?

Antwort

1

Drawable ist ein Objekt. Wenn Sie die überladene Version von setCompoundDrawablesWithIntrinsicBounds verwenden, die vier Drawable dauert, können Sie nicht 0 für nicht verwendet/Standardwert übergeben, aber Sie müssen Null übergeben. Ändern

myTextView.setCompoundDrawablesWithIntrinsicBounds(image, 0 ,0 , 0); 

mit

myTextView.setCompoundDrawablesWithIntrinsicBounds(image, null , null , null); 

Es gibt keine Version von setCompoundDrawablesWithIntrinsicBounds, die ein Drawable als ersten Parameter übernimmt und drei int s. Es gibt auch

setCompoundDrawablesWithIntrinsicBounds (int, int, int, int);. In diesem Fall ändert sich Ihr Code wie

myTextView.setCompoundDrawablesWithIntrinsicBounds(imageResource, 0 ,0 , 0); 
+0

danke! .... –

+0

sind Sie herzlich willkommen – Blackbelt

Verwandte Themen