视图(即TextView)需要对上下文
的引用。 由于activity
扩展了上下文
类,因此开发人员通常使用this
关键字来引用上下文并满足参数要求。
为什么“TextView”对象需要一个对activity的引用作为参数?
如果查看Android视图的源代码,构造函数将其存储在一个名为mcontext
的变量中:
/**
* The application environment this view lives in.
* This field should be made private, so it is hidden from the SDK.
* {@hide}
*/
protected Context mContext;
该变量对于维护其生命周期非常有用,并且在View类中的许多方法中都使用了该变量。 例如,initScrollCache,sendAccessibilityEventInternal,onScrollChanged和更多的方法都使用它们。
为什么“TextView”对象需要一个对activity的引用作为参数?
因为当您希望以编程方式创建TextView
时,需要将Context
作为参数传递
例如val textview=textview(this)
这里的this
指的是您当前的activity。