2014-01-13 63 views
1

我想在動態數量的列中創建一個表格我知道如何使用LayoutInflator動態添加行數,但是如何動態添加列數?在Android中動態列數的表格

謝謝你的時間任何幫助,高度讚賞。

回答

0

你不添加列 - 僅行之後,你可以告訴每個視圖多少列需要跨越

android:layout_span 

Defines how many columns this child should span. Must be >= 1. 

Must be an integer value, such as "100". 

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. 

This corresponds to the global attribute resource symbol layout_span. 

http://developer.android.com/reference/android/widget/TableRow.LayoutParams.html#attr_android:layout_span

最好TUTS之一:http://mobile.tutsplus.com/tutorials/android/android-sdk_table-layout/

+0

感謝鏈接本教程是好的我解決我的問題 – Prerak

0

使用列表視圖併爲行創建自定義佈局。使用具有水平方向的排列的線性佈局排

android:orientation="horizontal" 
android:weightSum="100" // or some other values 

在這個線性佈局裏面你可以添加任意數量的列。你可以通過設置佈局權重來控制寬度,你可以在java中動態地做到這一點。並且使每個單元格的寬度爲零和高度match_parent。這樣你的文本將會被正確包裹在每個單元格中。

設置權重比直接設置寬度,因爲它使用的自由空間,你的表將裏面的畫面正常顯示

//編輯

添加的LinearLayout在佈局更好

<LinearLayout 

    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    android:weightSum="100" > 

接下來我們要創建柱子。其實它應該是這樣的,在這裏你得到2個一半大小的柱子

<TextView 
     android:id="@+id/textview" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="50" 
    /> 
<TextView 
     android:id="@+id/textview" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="50" 
    /> 

如果您想動態執行此操作,您必須編寫代碼來創建Textview或Java src中的任何其他視圖,並將其佈局權重設置爲100列/列。 您可以在佈局參數中設置重量。

+0

你能否解釋或者提供一些鏈接,請 – Prerak

+0

請檢查我的更新 – Athul

+0

謝謝,現在我明白.....但我面對我創建了一個新的問題該表,但現在我想從用戶點擊確定時檢索數據。問題是我已經使用了單行的單獨佈局,並用它膨脹了表格佈局以獲取表格,但是每行都有一個微調控制器,用戶可以更改,因此如何獲取每個微調控制器的值,因爲每個微調控制器都不有一個唯一的ID – Prerak