2016-04-06 17 views
0

私の人生にとって、なぜ私のテキストがこのようになっているのか理解できません。私はjava/androidプログラミングには新しいので、答えが明らかでない場合は謝罪します。私はtablelayoutを1つの静的な行と残りの動的にプログラムされている。静的な行は正常に見えますが、の両方のために1に設定されていますが、私の動的行の最初のtextviewが押しつぶされています。誰かが私がやっていること/していないことについて私に啓発してもらえますか?TextviewとTableRowの重みが正しく機能しないAndroid

XML:

<TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingBottom="16dp" 
     android:id="@+id/alchemist_favored_class"> 

     <TableRow> 

      <TextView 
       android:layout_height="wrap_content" 
       android:layout_width="wrap_content" 
       android:text="Race" 
       android:gravity="left" 
       android:padding="2dp" /> 

      <TextView 
       android:layout_height="wrap_content" 
       android:layout_width="wrap_content" 
       android:text="Bonus" 
       android:gravity="left" 
       android:padding="2dp" /> 

     </TableRow> 

    </TableLayout> 

のJava:

//Populate Favored Class Options Table 
    TableLayout tableFC = (TableLayout) findViewById(R.id.alchemist_favored_class); 
    String[] fcr = getResources().getStringArray(R.array.alchemist_favored_class_race); 
    String[] fcd = getResources().getStringArray(R.array.alchemist_favored_class_detail); 

    TableRow.LayoutParams lp1 = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT, 1f); 
    TableRow.LayoutParams lp2 = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT, 1f); 

    for (int i = 0; i < fcr.length; i++){ 

     TableRow tr = new TableRow(this); 
     TextView tvFCR = new TextView(this); 
     TextView tvFCD = new TextView(this); 

     tr.addView(tvFCR); 
     tvFCR.setText(fcr[i]); 
     tvFCR.setSingleLine(true); 
     tvFCR.setPadding(2,2,2,2); 
     tvFCR.setLayoutParams(lp1); 

     tr.addView(tvFCD); 
     tvFCD.setText(fcd[i]); 
     tvFCD.setPadding(2,2,2,2); 
     tvFCD.setLayoutParams(lp2); 

     //Add background color to every other row. 
     if ((i % 2) == 0) { 
      tr.setBackgroundColor(Color.parseColor("#EEEEEE")); 
     } 

     tableFC.addView(tr, new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.MATCH_PARENT)); 

    } 

結果:入れ

Imgur

+0

?あなたがやっていることよりはるかに簡単だろう... – margabro

+0

親は私たちがスクロールビューを表示します。スクロール・ビュー内のリスト・ビューはスクロール可能で奇妙ではないでしょうか? – Flakpanda

答えて

0

このような何か -

tableFC.setStretchAllColumns(true); 

希望します。

+0

問題を解決できませんでした。それでも写真と同じ結果になります。 – Flakpanda

+0

1つの 'TableLayout'をXMLで作成し、2つの異なる' TableLayout'ではなく、XML /動的に 'TableRow'を追加することは可能ですか? –

0

行の最初のテキストビューからウェイトを削除すると、問題が修正され、必要に応じて表示されます。カスタム行ビューで「リストビュー」を使用していないのはなぜ

Image

関連する問題