0

プログラムでTextViewとButtonをラップしたLinearLayoutを追加したいと思います。文字列配列を取得し、文字列配列の長さを使用して、それぞれ独自のボタンを持つ多数のTextViewを追加します。

だから最初に:

String [] s = { .... the values ....}
int sL = s.length;
TextView t1 = new TextView (this);
// then somehow create t2, t3... etc. matching the length of the String array.

これはこれを行うための最良の方法ですか、それともこれを行う別の方法がありますか?一部のコンテキストでは、これはクイズアプリであり、リソース内のカテゴリのリストを値として作成しました。プログラムで、アプリにカテゴリと同じ数のTextViewを作成させ、各TextViewを各カテゴリに設定してからそれぞれを取得しようとしています。ボタンをクリックして、ユーザーをそのカテゴリの質問に移動します。

4

2 に答える 2

2

あなたはそれを正しく始めています、ただforループをして、あなたのlinearlayoutにtextviewsを追加してください。

// You linearlayout in which you want your textview
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.mylayout);
linearLayout.setBackgroundColor(Color.TRANSPARENT);

String [] s = { .... the values ....}
int sL = s.length;
TextView textView = null;

// For later use if you'd like
ArrayList<TextView> tViews = new ArrayList<TextView>();

for (int i = 0; i < sL; i++)
{
    textView = new TextView(this);
    textView.setText(s[i]);
    linearLayout.addView(textView);
    tViews.add(textView);
}

このやり方には何の問題もありません。これらのテキストビューを後で使用する場合(テキストを設定するなど)、何らかの配列に格納します。編集されたコード

于 2012-11-07T19:23:40.267 に答える
0

次のことができます。

for(int i=0;i<s.length;i++){
  TextView t=new TextView(this);
  t.setText(s[i]);
  yourLinearLayout.addView(t);
}

しかし、私は本当にListViewを使用する方がパフォーマンスに優れていると思います;)

于 2012-11-07T19:24:48.590 に答える