使用 for 循环以编程方式将 TextView 添加到 Layout

Adding TextView to Layout programmatically using for loop

所以我正在学习 Udacity Google 的 Android 基础课程。在 onCreate 方法中的一节课中,他们制作了字符串 ArrayList 并将值从“一”添加到“十”。之后,他们制作了 LinearLayout 变量,并使用 for 循环将 TextViews 添加到该布局。这就是整个代码的样子:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_numbers);

        ArrayList<String> words = new ArrayList<>();
        words.add("one");
        words.add("two");
        // ...
        words.add("ten");

        LinearLayout rootView = findViewById(R.id.root_view);

        for (int i = 0; i < words.size(); i++) {
            TextView wordView = new TextView(this);
            wordView.setText(words.get(i));
            rootView.addView(wordView);
        }
    }

他们没有解释,我们如何在 for 循环中添加十个同名“wordView”的 TextView 到布局?

正如@javdromero 在评论中所说,wordView 只是 TextView 视图对象的参考。我们只是在创建一个 TextView 对象。在其上设置文本并将其添加到 rootViewrootView 只是您示例中 LinearLayout 的参考名称。 None 如果引用名称将设置视图对象的 ID。 wordView 的范围仅限于执行 for 循环迭代时的每个循环,一旦索引递增,您就会将另一个视图对象引用分配给 wordView.