0

TableLayout を作成しようとしていますが、いくつかのエラーが発生します。

ここに画像の説明を入力

最初の赤い行のデータは、2 番目の白い行にあるはずです。

レイアウト xml ファイルは次のとおりです。

<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="horizontal|vertical"
android:layout_weight="1"
android:background="#838080">

<LinearLayout 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

<TableLayout 
     android:id="@+id/myOtherTableLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    ></TableLayout>    
<HorizontalScrollView
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="#000">


<TableLayout

    android:id="@+id/myTableLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:scrollbars="horizontal|vertical"
    android:background="#FFFFFF"
     >
</TableLayout>
</HorizontalScrollView>
</LinearLayout>
</ScrollView>

コードは次のとおりです。

 Color c = new Color();

    setContentView(R.layout.data_table_creater_activity);

    android.widget.TableRow.LayoutParams params = new TableRow.LayoutParams(
                LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT);

    params.setMargins(10, 0, 2, 0);
    rowFiller();
    TableLayout TbL = (TableLayout) findViewById(R.id.myOtherTableLayout);

    TableRow headerRowHead = new TableRow(this);
    headerRowHead.setId(51);
    headerRowHead.setBackgroundColor(c.rgb(241,26,41));

    TextView header1 =  new TextView(this);
    header1.setText(Html.fromHtml("<u>Purchase_Order_Number</u>"));
    header1.setLayoutParams(params);
    headerRowHead.addView(header1);

    TextView header2 =  new TextView(this);
    header2.setText(Html.fromHtml("<u>Vendor</u>"));
    header2.setLayoutParams(params);
    headerRowHead.addView(header2);

    TextView header3 =  new TextView(this);
    header3.setText(Html.fromHtml("<u>Currency</u>"));
    header3.setLayoutParams(params);
    headerRowHead.addView(header3);

    TextView header4 =  new TextView(this);
    header4.setText(Html.fromHtml("<u>Total_Price</u>"));
    header4.setLayoutParams(params);
    headerRowHead.addView(header4);


    TbL.addView(headerRowHead, new TableLayout.LayoutParams(

            LayoutParams.WRAP_CONTENT,

            LayoutParams.WRAP_CONTENT
            ));


    TableRow headerRowData = new TableRow(this);
    headerRowData.setId(50);
    headerRowData.setBackgroundColor(c.rgb(255,255,255));
    TextView headerData1 =  new TextView(this);
    header1.setText("0350005000");
    header1.setLayoutParams(params);
    headerRowData.addView(headerData1);
    TextView headerData2 =  new TextView(this);
    header2.setText("Vendor_A");
    header2.setLayoutParams(params);
    headerRowData.addView(headerData2);
    TextView headerData3 =  new TextView(this);
    header3.setText("EUR");
    header3.setLayoutParams(params);
    headerRowData.addView(headerData3);
    TextView headerData4 =  new TextView(this);
    header4.setText("44.60");
    header4.setLayoutParams(params);
    headerRowData.addView(headerData4);

    TbL.addView(headerRowData, new TableLayout.LayoutParams(

            LayoutParams.WRAP_CONTENT,

            LayoutParams.WRAP_CONTENT
            ));

最初の行のデータが表示されないのはなぜですか? そして、なぜ1行目に2行目のデータが表示されるのでしょうか?

下のTableLayoutheader1.setText(Html.fromHtml("<u>*Text*</u>"));でわかるように、テキストに下線を引くために を使用するとうまくいきます。

4

1 に答える 1