ClassName obj = new ClassName(this);为什么用这个?

时间:2015-01-25 19:08:00

标签: android

在Android开发者网站上,要创建新的文本视图,请使用以下代码:

TextView textView = new TextView(this);

为什么要使用它?

为什么不能像这样创建textView的对象?

TextView textView = new TextView();

1 个答案:

答案 0 :(得分:1)

TextView没有无参数构造函数。 Android的UI小部件都没有。他们至少都采用了一个上下文。您帖子中的this可能是一个Activity,它扩展了Context。

你不能为没有arg构造函数的类调用no-arg构造函数。如果作者声明了一个,或者如果作者声明没有构造函数,那么它只有一个(在这种情况下,编译器将添加no-arg构造函数)。