java - "for (int clickableId : clickableIds)"有什么作用?

标签 java android arrays for-loop

我是 Android 新手。我只懂C和C++。我在 github 上看到了以下 for 循环引用。

for (int clickableId : clickableIds) {
            view.findViewById(clickableId).setOnClickListener(this);
        }

我在 google 上搜索了有关 android 的基于范围的 for 循环,因为我了解 C++,并且在 C++ 中语法是基于范围的 for 循环。但是,我找不到任何引用。

所以,

  • 这个 for 循环有什么作用?

  • 我应该何时何地使用它?

最佳答案

这是github中的完整代码:

  final int[] clickableIds = new int[]{
            R.id.easy_mode_button,
            R.id.hard_mode_button,
            R.id.show_achievements_button,
            R.id.show_leaderboards_button,
            R.id.sign_in_button,
            R.id.sign_out_button
    };

    for (int clickableId : clickableIds) {
        view.findViewById(clickableId).setOnClickListener(this);
    }

这意味着 int clickableId 正在遍历数组 clickableIds。因此它进入了第一个R.id.easy_mode_button,然后在for循环内onclicklistener方法将被调用。

这个 for 循环称为增强型 for 循环,这是它的语法:

for (int myValue : myArray) {

onClickListener(this) //this means current class is implementing onClickListener. 

因此,进入 for 循环后,会调用 onClickListener(this),当单击按钮时,会调用 onClick()

关于java - "for (int clickableId : clickableIds)"有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47220310/

相关文章:

java - 有时写入文件 block

javascript - 如何获取数组中所有出现的相同值的索引?

javascript - 将数字数组与 'array of number arrays' 进行比较以查找匹配项

java - 强制浏览器在单独的窗口中打开我的小程序

java - Navigation Drawer关闭后如何执行操作,否则Android App会卡顿

java - 从循环内调用的方法跳出 for 循环

java - 在 Java 中解释/开发/输入/鼠标

java - 使用 Json 解析 Gson 不适用于 Android

android - 如何使用兼容性库获取 "?android:attr/actionBarSize"

php - 在 jQuery 中迭代 PHP 数组?