0

文字列配列のサイズに基づいていくつかのTextViewを作成するアクティビティを作成しました。しかし、私の文字列配列には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]);
    }
4

2 に答える 2

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);
    }

私はこのタイプのコードを動的に生成されたコンテンツに多く使用しています(事前入力されたデータベースからコンテンツを取得します)。

于 2012-12-07T16:07:35.983 に答える
0

TextView が作成されたように見えますが、GUI に表示されている可能性があり、互いに重なり合っている可能性があります。

1.親の線形レイアウトでlayout.setOrientation(ORIENTAIION.VERTICAL)を使用します。

2. レイアウトで childCount ()を使用して、4 つのテキスト ビューすべてがスニペットに追加されていることを確認します。

3.また、問題のケースに対するケーススタディにremoveALLView()などのメソッドを使用していないことを確認してください。

于 2012-09-16T11:29:59.893 に答える