2013-08-16 1 views
0

Я пытаюсь создать TableLayout, но происходит какая-то ошибка:Первый TableRow не показан

enter image description here

Данные в первом ряду красного цвета должны быть во втором, белый строк.

Вот макет 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 
      )); 

Почему данные первой строки не отображается? И почему данные второй строки отображаются в первой строке?

Работает с header1.setText(Html.fromHtml("<u>*Text*</u>"));, чтобы подчеркнуть текст, хорошо работает, как вы можете видеть в TableLayout ниже.

ответ

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

Вы добавили header3 вместо headerData3 и так далее для headerData1, headerData2, headerData3 .И headerData4 пожалуйста, проверьте, что ли, что вопрос

+0

Я так глупо ... спасибо, да, это была проблема. Это смущает .... –

+0

привет AndroidRookie было бы хорошо, если бы я согласился с моей помощью в качестве ответа – Meher