java - conditionally implement an interface -


so i'm trying animations in app , had way without using objectanimator , animatorlistener api 11. however, they're not smooth , robust doing animations using classes.

so made changes code in object's class check api level, objectanimator , animatorlistener stuff wouldn't called unless api level 11+.

the problem object implementing animatorlistener though functionality isn't being used in versions of code. think leading verifyerror on start of app because crashes on devices api level 10 , down.

is there way conditionally implement interface based on api level or different way achieve same thing?

thanks!

actually, ok if build against or higher sdk target, issue when code run on device missing classes higher sdk. others suggested, can go factory

public class factory {   public static <t> t getimplementation(){     if(<sdk_level_incompatible>){       return (t)new <package>.oldschoolanimator();     }else{       return (t)new <package>.superanimator();     }   } }   ... someimplementation impl = new factory().getimplementation(); ... 

watchout, "someimplementation" has common super-type or interface of oldschoolanimator , superanimator classes! dont use "imports" implementation classes in factory, rather use full-qualified classnames.


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -