为什么java代码中创建的Android Button()必须使用(此)作为上下文?

为什么java代码中创建的Android Button()必须使用(此)作为上下文?,java,eclipse,button,android-studio,Java,Eclipse,Button,Android Studio,我可以使用button-button=new-button()在Eclipse中创建一个按钮(来自java.awt导入)。但是为什么在Android Studio中,如果我使用按钮按钮=新按钮()(来自Android.widget导入)创建java代码按钮,我会收到一个错误,说“无法解析构造函数按钮()”,而不使用(this)上下文 这仅仅是因为java.awt库和android.widget库中定义Button()方法的方式不同吗?只要看看,没有不带参数的构造函数。您必须至少提供一个上下文该按

我可以使用
button-button=new-button()在Eclipse中创建一个按钮
(来自
java.awt
导入)。但是为什么在Android Studio中,如果我使用
按钮按钮=新按钮()
(来自Android.widget导入)创建java代码按钮,我会收到一个错误,说“无法解析构造函数按钮()”,而不使用
(this)
上下文


这仅仅是因为java.awt库和android.widget库中定义Button()方法的方式不同吗?

只要看看,没有不带参数的构造函数。您必须至少提供一个
上下文

该按钮需要一个Android活动作为其上下文,以便它知道在哪里存在。“this”指的是创建按钮的活动。如果有多个活动正在运行,将其他活动之一作为上下文传递也是有效的。

请显示一些代码:在本例中,工作和非工作代码。A
java.awt.Button
和A
android.widget.Button
是完全不同的东西。您不应该尝试使用AWT组件或将J2SE标准库链接到Android应用程序。@Kevin谢谢。这就是我在文章第二段的意思。我通过检查文件确认了这一点
java.awt.Button
读作
public Button(){…}
android.widget.Button
读作`公共按钮(上下文)。由于这直接回答了我的问题,如果您想将其作为答案提交,我可以将其标记为答案。上下文参数的概念是Android独有的,对吗?我相信我读到的上下文是一些新的东西,只用于android java编码。我不确定它是否是android独有的,但android是我见过的唯一地方。当你说“没有不带参数的构造函数”时,你是专门指安卓吗?因为在我最初的帖子中,我引用了java.awt.Button如何不需要参数或上下文。@dbc:仅仅因为它们具有相同的名称并不意味着这些类是相同的。如果遇到问题,必须始终引用要使用的类的文档。看看我给你的链接。@dbc:好的,我当然是指
android.widget.Button