Android public void setOnClickListener(@Nullable OnClickListener 1),为什么引用名称是一个数字;“1”吗;?

Android public void setOnClickListener(@Nullable OnClickListener 1),为什么引用名称是一个数字;“1”吗;?,android,Android,嘿,我现在正在自学android编程。我有一个问题,我在网上找不到。下面的代码是setOnClickListener类视图的公共方法: 公共void setOnClickListener(@Nullable OnClickListener 1){ ....... } 我不了解这个特殊方法的参数,我知道这需要一个对接口的引用,这样我们就可以调用匿名对象或传递实现这个OnClickListener接口的类。在参数上,接口的引用名称是“1”,这是一个数字,根据我的理解,您不能命名一个数字的引用。该引用

嘿,我现在正在自学android编程。我有一个问题,我在网上找不到。下面的代码是setOnClickListener类视图的公共方法:

公共void setOnClickListener(@Nullable OnClickListener 1){ ....... }

我不了解这个特殊方法的参数,我知道这需要一个对接口的引用,这样我们就可以调用匿名对象或传递实现这个OnClickListener接口的类。在参数上,接口的引用名称是“1”,这是一个数字,根据我的理解,您不能命名一个数字的引用。该引用名称怎么可能是一个数字?我试图重新创建这样的方法,但只得到了错误。谢谢你的帮助


这不是有效的Java语法。变量名不能仅为数字。请参阅文档中的“命名”部分:

这不是有效的Java语法。变量名不能仅为数字。请参阅文档中的“命名”部分:

在Java中,变量名必须以字母(a-z,a-z)或下划线(u)或美元符号($)开头。它不能以数字(0-9)开头,因为它可能与数字混淆

问题:在您的情况下,这里似乎有一个打字错误,它是小写的“l”(love、like、l屋檐等等),而不是数字1

解决方案:您应该将小写“l”更改为listener字符串,以解决错误并避免混淆

/**
 * Register a callback to be invoked when this view is clicked. If this view is not
 * clickable, it becomes clickable.
 *
 * @param listener The callback that will run
 *                 
 * @see #setClickable(boolean)
 */
public void setOnClickListener(@Nullable View.OnClickListener listener) {
    if (isClickable()) {
        setClickable(true);
    }
    getListenerInfo().mOnClickListener = listener;
}

在Java中,变量名必须以字母(a-z,a-z)或下划线(ux)或美元符号($)开头。它不能以数字(0-9)开头,因为它可能与数字混淆

问题:在您的情况下,这里似乎有一个打字错误,它是小写的“l”(love、like、l屋檐等等),而不是数字1

解决方案:您应该将小写“l”更改为listener字符串,以解决错误并避免混淆

/**
 * Register a callback to be invoked when this view is clicked. If this view is not
 * clickable, it becomes clickable.
 *
 * @param listener The callback that will run
 *                 
 * @see #setClickable(boolean)
 */
public void setOnClickListener(@Nullable View.OnClickListener listener) {
    if (isClickable()) {
        setClickable(true);
    }
    getListenerInfo().mOnClickListener = listener;
}

这就是我所知道的,它不能只是数字,这就是为什么我对此感到困惑。这段代码来自android studioAS,它不是用人工智能创建的,而是简单的模板或代码片段。所以你很明显在你的AS或So中破坏了模板。这里没有魔法。检查并调查一下。这就是我所知道的,它不能只是数字,这就是为什么我对此感到困惑。这段代码来自android studioAS,它不是用人工智能创建的,而是简单的模板或代码片段。所以你很明显在你的AS或So中破坏了模板。这里没有魔法。检查并调查一下。这是字母“l”(l),而不是数字1(1)。最好将参数命名为“listener”以避免这种混淆。它是字母“l”(l),而不是数字1(1)。最好将参数命名为“listener”,以防止这种混淆。