在Android工作室动态按钮

时间:2016-01-05 09:54:58

标签: android

enter image description here

我正在尝试创建一个可以动态创建按钮的“添加”按钮,但我在以下方面遇到了问题:

Button mybutton = new Button (this);

我不知道为什么this可以应用OnClickListener

3 个答案:

答案 0 :(得分:5)

你在View.OnClickListener内,所以使用this传递OnClickListener而不是上下文,这是非法的。

使用HalamanDepanActivity.this

答案 1 :(得分:1)

这是Android中Button的构造函数

 public Button (Context context)

在您的情况下,this不是Context 所以你需要将this更改为getApplicationContext()或HalamanDepanActivity.this

答案 2 :(得分:1)

Documentation说:

  

在实例方法或构造函数中,这是对它的引用   当前对象 - 其方法或构造函数所在的对象   调用。您可以从内部引用当前对象的任何成员   使用它的实例方法或构造函数。

您使用 onClick this关键字内侧,因此它将参考当前的方法。

您必须通过YourActivity.this而不是this

您可以尝试使用Context

Context context = getApplicationContext();
Button button = new Button(context);

可能会明确this

的概念

谢谢。