获取方法MyFragment.this.mFragment
和mFragment
之间的区别是什么?我在父类中有一个成员
private Fragment mFragment;
我在内部课程中尝试过这项检查
if (mFragment instanceof SecondFragment) {
if (MyFragment.this.mFragment instanceof SecondFragment) {
some code...
}
}
Studio没有告诉任何错误,第二次检查始终是真的。为什么?
答案 0 :(得分:0)
您的情况可能没有区别。这取决于具体情况。
mFragment instanceof SecondFragment
指的是当前类的实例变量(成员)。我假设你在MyFragment的某些方法中使用了你的代码片段。
MyFragment.this.mFragment
也可以在那里工作,但它也适用于内部类。那些可能是显式内部类(同一个.class文件中的另一个类)以及匿名内部类,一个监听器等。你必须使用
MyFragment.this.mFragment
答案 1 :(得分:0)
反编译.class文件并验证它。 您可以在内部类中找到可用于访问外部类行为的引用。