Talking about performance I think XML would be better than using API because Dalvik Executable will convert all your classes into .dex. This dex file is bit smaller sized than a our regular compiled jars in JAVA VM. As Dalvik Vm is a register-based architecture low size dex would be run efficiently with high performance. (I am not 100% sure but it should be like this only ).
And now Programming point of view if you want to develop application with M-V-C architecture your program logic must be separated from designing and user screens.