我的TextView数组只打印TextView数组中的第一个元素,而不是所有元素

时间:2014-08-26 10:23:50

标签: java android textview

我的TextView数组只打印TextView数组中的第一个元素,而不是所有元素,是android的新元素。请帮帮我。

伙计们有一个错字,我忘了在下面的代码中显示i的增量。我实际上使用了i的增量,但是只出现了第一个textview。请立即查看并帮助我。

    Iterator<String> i1 = processesOccupyingHugeMemory.iterator();

    TextView[] text = new TextView[processesOccupyingHugeMemory.size()];
    int i=0;
    while(i1.hasNext())
    {
        text[i] = new TextView(this);
        text[i].setText(i1.next());
        text[i].setAllCaps(true);
        text[i].setId(i);
        text[i].setLayoutParams(params);
        myLinearLayout.addView(text[i]);
        i++;
    }
}

}

XML代码

<LinearLayout
    android:id="@+id/LinearLayout1"
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

3 个答案:

答案 0 :(得分:2)

你必须增加i,你总是使用0作为变量i

答案 1 :(得分:1)

您忘记在i循环中递增while

    Iterator<String> i1 = processesOccupyingHugeMemory.iterator();

    TextView[] text = new TextView[processesOccupyingHugeMemory.size()];
    int i=0;
    while(i1.hasNext())
    {
        text[i] = new TextView(this);
        text[i].setText(i1.next());
        text[i].setAllCaps(true);
        text[i].setId(i);
        text[i].setLayoutParams(params);
        myLinearLayout.addView(text[i]);
        i++;
    }

除此之外:

确保您在WRAP_CONTENT中使用宽度params,用于textview。

如果您希望每个文本视图都在新行中,那么您需要在xml中为线性布局设置方向vertical

<LinearLayout
    android:id="@+id/LinearLayout1"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
/>

答案 2 :(得分:0)

每次都要为textview设置相同的ID。增加循环中的id值。