片段中的 getActivity() 与 this.getActivity()
getActivity() vs this.getActivity() in Fragment
我是Android的新手,我想知道片段类中getActivity()
和this.getActivity()
是否有区别。
例如,我们有一个简单的方法 class(不扩展 Activity 或片段),例如:
public static void method(Context context){
... some code
}
如果我们想使用它,只需在我们的片段中调用它class:
MyMethodClass.method(getActivity());
或
MyMethodClass.method(this.getActivity());
我知道两者都有效,但我需要专业意见。
谢谢。
他们是一样的。 this 关键字引用当前对象。
public class Car {
int speed = 10;
public void move() {
//using this.speed or speed makes no difference here
}
}
如果你从Fragment
扩展,getActivity()
和this.getActivity()
都会调用Fragment#getActivity(),所以正如其他人所说,这没有区别。两者都将在父 class.
中查找方法
一个小的更正:您提供的示例代码:
MyMethodClass.method(getActivity());
如果 method()
是一个静态方法, 会起作用。否则你应该这样称呼它:
MyMethodClass.this.method(getActivity());
但这只是基本的 Java ;)
在 Fragments
中使用 getActivity() 关键字代替 'this' 关键字
我是Android的新手,我想知道片段类中getActivity()
和this.getActivity()
是否有区别。
例如,我们有一个简单的方法 class(不扩展 Activity 或片段),例如:
public static void method(Context context){
... some code
}
如果我们想使用它,只需在我们的片段中调用它class:
MyMethodClass.method(getActivity());
或
MyMethodClass.method(this.getActivity());
我知道两者都有效,但我需要专业意见。
谢谢。
他们是一样的。 this 关键字引用当前对象。
public class Car {
int speed = 10;
public void move() {
//using this.speed or speed makes no difference here
}
}
如果你从Fragment
扩展,getActivity()
和this.getActivity()
都会调用Fragment#getActivity(),所以正如其他人所说,这没有区别。两者都将在父 class.
中查找方法
一个小的更正:您提供的示例代码:
MyMethodClass.method(getActivity());
如果 method()
是一个静态方法,会起作用。否则你应该这样称呼它:
MyMethodClass.this.method(getActivity());
但这只是基本的 Java ;)
在 Fragments
中使用 getActivity() 关键字代替 'this' 关键字