Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deprecated method, but replacing method requires higher api [duplicate]

Tags:

I wanted to use view.setBackgroundDrawable(Drawable) but this method is deprecated. It is replaced with .setBackground(Drawable). But my minimum of API 8 can't handle that. It tells me to set the minimum to API 16.

Is there a way to use a different method, based on the API of the device?

Something like

if(API<16) {   view.setBackgroundDrawable(Drawable) } else {   view.setBackground(Drawable) } 

Or do I really have to change the minimum API to do this?

like image 709
Niels Avatar asked Nov 05 '12 09:11

Niels


2 Answers

setBackgroundDrawable is deprecated but it still works so you could just use it. But if you want to be completely correct you should use something like this

int sdk = android.os.Build.VERSION.SDK_INT; if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {     setBackgroundDrawable() } else {     setBackground(); } 

For this to work you need to set buildTarget api 16 and min build to 7 or something similar.

like image 120
Antrromet Avatar answered Oct 09 '22 11:10

Antrromet


Something like this:

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN){    view.setBackgroundDrawable(Drawable) } else {    view.setBackground(Drawable) } 
like image 39
Simon Avatar answered Oct 09 '22 09:10

Simon