Button btn = new Button(this);
btn.setText(“This is a Button”);
btn.setLayoutParams(params);
如果我们不将“this”作为Button的上下文引用传递会发生什么...... ??
答案 0 :(得分:1)
上下文是有关应用程序环境的全局信息的接口。这是一个抽象类,其实现由Android系统提供。它允许访问特定于应用程序的资源和类,以及应用程序级操作的上调,例如启动活动,广播和接收意图等。
Button也是应用程序的资源,所以如果你想创建按钮或任何小部件,那么你必须在小部件的构造函数中传递Context。
了解更多详情
http://developer.android.com/reference/android/content/Context.html
答案 1 :(得分:0)
我不知道android sdk,但通常传递给控件的构造函数的参数是父级或所有者(有时它不一样,例如在Borland的VCL父级中是一个控件,其中放置了子控件,但是所有者控制权,妥善处理资源。
如果你没有将'this'传递给构造函数会怎么样?要么Button不可见(因为没有任何东西会调用它的Draw或者用于在android上绘制控件的任何方法)或者你会抛出某种异常。
答案 2 :(得分:0)
如果你没有将上下文传递给Button构造函数,你将得到没有Button实例的wile没有空参数Button构造函数。 http://developer.android.com/reference/android/widget/Button.html#Button(android.content.Context)