TextView& String Array故障

时间:2012-09-16 11:00:44

标签: android textview

我做了一个活动,我根据字符串数组的大小创建一些TextViews!但是尽管我的字符串数组上有4个项目,我用调试测试它,创建的文本视图只有1.如果有人对它有所了解请告诉我:)

setContentView(R.layout.program);

    String[] daily_lessons = getResources().getStringArray(R.array.firstGradeLessons);
    final TextView[] tv = new TextView[daily_lessons.length];
    final LinearLayout layout = (LinearLayout) findViewById(R.id.linear1);
    fasa = (TextView) findViewById(R.id.textView1);
    fasa.setText(String.valueOf(daily_lessons.length));


    for (int i=0; i<daily_lessons.length; i++){
        tv[i] = new TextView(this);
        tv[i].setText(daily_lessons[i]);
        tv[i].setTextSize(20);
        tv[i].setLayoutParams(new LinearLayout.LayoutParams((int)LayoutParams.FILL_PARENT,(int) LayoutParams.WRAP_CONTENT));
        tv[i].setGravity(Gravity.CENTER);
        layout.addView(tv[i]);
    }

2 个答案:

答案 0 :(得分:0)

TextView似乎已创建,但现在可能在GUI上可见,可能会相互堆叠等。

1.在父线性布局上使用 layout.setOrientation(ORIENTAIION.VERTICAL)

2.在布局上使用 childCount(),以确保所有4个文本视图都已添加到代码段中。

3.还要确保您没有使用 removeALLView()等方法来解决问题案例。

答案 1 :(得分:0)

如果你仍然需要这个问题的答案,我会这样做。

    setContentView(R.layout.program);

    String[] daily_lessons = getResources().getStringArray(R.array.firstGradeLessons);
    LinearLayout layout = (LinearLayout) findViewById(R.id.linear1);
    fasa = (TextView) findViewById(R.id.textView1);
    fasa.setText(String.valueOf(daily_lessons.length));

    TextView tmpView = null;
    for (int i=0; i<daily_lessons.length; i++){
        tmpView = new TextView(this);
        tmpView.setText(daily_lessons[i]);
        tmpView.setTextSize(20);
        layout.addView(tmpView , new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
    }

我将这种类型的代码用于我的动态生成内容(从预填充数据库中获取内容)。