2017-05-10 1 views
0
tv = new TextView[10]; 

    RelativeLayout rl = (RelativeLayout) findViewById(R.id.RL); 
    RelativeLayout.LayoutParams lpFirst = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
    lpFirst.addRule(RelativeLayout.CENTER_HORIZONTAL); 
    lpFirst.addRule(RelativeLayout.CENTER_VERTICAL); 
    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 

    for(int i = 0; i < 10; i++){ 
     tv[i] = new TextView(this); 
     tv[i].setId(i + 1000); 
     tv[i].setText("" + tv[i].getId()); 
    } 
    rl.addView(tv[0], lpFirst); 
    for(int i = 1; i < 10; i++){ 
     lp.addRule(RelativeLayout.RIGHT_OF, tv[i-1].getId()); 
     tv[i].setLayoutParams(lp); 
     rl.addView(tv[i], lp); 
    } 

それらを表示したい[0]が、それらは左上側に配置。 問題は何か分かりません。私は、[1]〜TVが[9]テレビの右側に置かれ、私はテレビをしたい私のコード で動的にビューを作成し、ここでは画面の中央に

+1

あなたがそれぞれに同じ 'lp'オブジェクトを使用していることにそれぞれの子を追加します追加のビュー。ループの中で新しいものを作ってみてください。また、 'setID'はハードコーディングされた番号では信頼できません。 'View.generate ...' one –

+0

何が起こっているのかを定義し、特定の質問を定義する必要があります –

答えて

0

はちょうどあなたのXML

<LinearLayout 
    android:id="@+id/container" 
    android:layout_width="wrap_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:layout_centerInParent="true"> 

にコンテナRelativeLayoutの内側のLinearLayoutを配置し、IDによって、そのコンテナを取得し、

関連する問題