Java 应该";这";在创建新对象时是否始终用作上下文?
制作新对象时,通常会:Java 应该";这";在创建新对象时是否始终用作上下文?,java,android,Java,Android,制作新对象时,通常会: TextView textView = new TextView(this) 在这里,我们是否应该始终使用“this”指针(通常是活动的实例)作为TextView的上下文?对我来说,似乎任何上下文都可以在很多情况下工作,比如下面的方法 TextView textView = new TextView(this); textView.setTextSize(textSize); textView.setTextColor(textCol
TextView textView = new TextView(this)
在这里,我们是否应该始终使用“this”指针(通常是活动的实例)作为TextView的上下文?对我来说,似乎任何上下文都可以在很多情况下工作,比如下面的方法
TextView textView = new TextView(this);
textView.setTextSize(textSize);
textView.setTextColor(textColor);
textView.setText(text);
tableRow.addView(textView);
我的主张是,由于我没有采用任何资源,任何上下文都可以取代“this”(我认为这是错误的)。为什么我们应该使用“this”而不是任何其他上下文
在这里,我们是否应该始终使用“this”指针(通常是活动的实例)作为TextView的上下文
偶尔会有更好的选择,但通常是在明显的情况下:
- 您正在使用
将内容传送到外部显示器,因此您使用与该演示文稿
显示器关联的
上下文
- 您正在编写一个
,需要在InputMethodService
onCreateInputView()中返回
视图
- 您正在编写一个
,需要调用DreamService
,并选择用Java代码创建小部件,而不是使用布局setContentView()
- 等等
in laalto的评论是为正确的情况选择正确的
上下文
的一个很好的起点。请添加正确的语言标记(我假设它是Java),并命名您正在使用的库(提供文本视图
类的库),最好也是以标记的形式。这有助于你找到合适的人来回答你的问题。谢谢你的评论!这取决于上下文(原文如此)。有益阅读: