2013-08-16 25 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

相關問題