Recently, I ran into a mysterious problem in an android project, which I described here. I somehow solved the problem, but still don't know the exact reason behind it.
Let's say I want to call a function foo() in the inner class. The question is, what's the difference between calling it directly like
foo();
or calling it with the outer class instance
OuterClass.this.foo();
Besides, i will appreciate if anyone can check my last question related to this, and give me a clue about why the error occurs. Many thanks.
PS: I read somewhere that the non-static inner class will always hold an instance of the outer class. So it will call outer function using that instance if I only use foo()?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…