Android Studio 事件监听器之谜(对我来说)(setOnClickEventListener)
Android Studio Event Listener mysteries (to me) (setOnClickEventListener)
我正在尝试学习 android 编程,但在深入理解概念方面,我陷入了困境。
所以有这段代码监听视图(一个按钮)的点击事件。顺便说一句,代码来自一个站点,并且工作正常。但我痴迷于了解它的具体细节。
clearButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// do some stuff
}
});
我有一些不同层次的问题:
1. 所以父函数 (clearButton.setOnClickListener) 是事件处理程序,据我所知,它在单击按钮时触发。然而我们正在向它传递一个对象的方法,据我所知,这是另一个事件监听器。它们都被命名为 "ClickListener" 所以我很困惑。其中两个真的是事件监听器吗?
2. View 对象(作为回调传递的对象)来自哪里?它是由系统隐式创建的吗?我的 MainActivity.java 文件中没有这样的定义。
3. 我笨拙地尝试用调用另一个简单函数的父函数来编写它,它只显示一个 AlertDialog,但我失败了,因为 clearButton.setOnClickEventListener 期望一个要从回调返回的视图(我认为:))。有没有其他方法可以完成它,或者这是将事件侦听器设置为视图的唯一方法?我是否必须按原样接受它并拥抱它,而不是为它苦苦挣扎:)我问这个只是为了理解结构的逻辑,代码工作得很好。
4.传递给View.OnClickListener函数的视图是什么?这是当前的观点吗(我怀疑是)?传递给视图的视图的用例是什么。
5. 我在哪里(或我可以)查看 View.OnClickListener 函数的代码以更好地理解它?
6. 所有这些练习在我脑海中引发了另一个关于回调的问题,但它可能完全是另一个问题的主题:)
- 有点难以解释,但您传递的是可以视为
function
的内容。
- View 包含在 Android 框架中。
- 您还可以通过 xml 设置
onClick
侦听器。检查这个很有用 post.
- 根据我的理解,它是与之相关的视图。例如,它是
button1
的 onClickListener,视图指的是 button1
.
- View.OnClickListener
- ...好吧。我认为你最好先学习教程(我建议 udacity :D )
不是很确定,但我希望这能以某种方式给你一个想法。快乐学习和编码!干杯! :D
我正在尝试学习 android 编程,但在深入理解概念方面,我陷入了困境。
所以有这段代码监听视图(一个按钮)的点击事件。顺便说一句,代码来自一个站点,并且工作正常。但我痴迷于了解它的具体细节。
clearButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// do some stuff
}
});
我有一些不同层次的问题:
1. 所以父函数 (clearButton.setOnClickListener) 是事件处理程序,据我所知,它在单击按钮时触发。然而我们正在向它传递一个对象的方法,据我所知,这是另一个事件监听器。它们都被命名为 "ClickListener" 所以我很困惑。其中两个真的是事件监听器吗?
2. View 对象(作为回调传递的对象)来自哪里?它是由系统隐式创建的吗?我的 MainActivity.java 文件中没有这样的定义。
3. 我笨拙地尝试用调用另一个简单函数的父函数来编写它,它只显示一个 AlertDialog,但我失败了,因为 clearButton.setOnClickEventListener 期望一个要从回调返回的视图(我认为:))。有没有其他方法可以完成它,或者这是将事件侦听器设置为视图的唯一方法?我是否必须按原样接受它并拥抱它,而不是为它苦苦挣扎:)我问这个只是为了理解结构的逻辑,代码工作得很好。
4.传递给View.OnClickListener函数的视图是什么?这是当前的观点吗(我怀疑是)?传递给视图的视图的用例是什么。
5. 我在哪里(或我可以)查看 View.OnClickListener 函数的代码以更好地理解它?
6. 所有这些练习在我脑海中引发了另一个关于回调的问题,但它可能完全是另一个问题的主题:)
- 有点难以解释,但您传递的是可以视为
function
的内容。 - View 包含在 Android 框架中。
- 您还可以通过 xml 设置
onClick
侦听器。检查这个很有用 post. - 根据我的理解,它是与之相关的视图。例如,它是
button1
的 onClickListener,视图指的是button1
. - View.OnClickListener
- ...好吧。我认为你最好先学习教程(我建议 udacity :D )
不是很确定,但我希望这能以某种方式给你一个想法。快乐学习和编码!干杯! :D