Either make it final or declare it as a instance variable ie declare it before onCreate
and initialize it onCreate
final ViewTreeObserver myObserver = myLayout.getViewTreeObserver();
http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html#accessing
ViewTreeObserver.OnPreDrawListener is a interface implemented by annonymous inner class. SO to access the variable it must be final
.