0

我試圖建立和應用,顯示組織的數據,所以我想,基本上是TableLayout將是一個不錯的主意,只爲讓他們在行,所以我不知道什麼正確的如何做到這一點?我有這個在我的XMLAndroid的 - 列表視圖內tableLayout

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TableLayout 
     android:id="@+id/tableLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
     <TableRow> 
      <TextView 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:text="@string/hello" > 
      </TextView> 

      <ListView 
       android:id="@+id/listView1" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="233dp" 
       android:layout_marginTop="44dp" > 
      </ListView> 
     </TableRow> 
    </TableLayout> 

</LinearLayout> 

那麼它只是使TableLayout標籤和TableRow標籤顯示,上面寫着警告:

"This TableLayout layout or its LinearLayout parent is possibly useless" 

所以我的理解是不拾取TableLayout。我怎樣才能解決這個問題?有沒有另一種方法來做到這一點easly?

回答

1

所以我不解的是,沒有拿起tablelayout。我怎樣才能解決這個問題?有沒有另一種方法來做到這一點easly?

不太,渲染是TableLayout的考慮,但由於lint工具檢測到你有兩個意見時,你只需要一個(A LinearLayoutTableLayout),是警告你,應該刪除其中的一種佈局,因爲它可以提高性能,同時不影響頁面的功能。

我會加,你有一個單行一個TableLayout。 TableLayout旨在允許其內容根據其所有行對列進行格式化。隨着單列TableLayout &行一起充當的LinearLayout:

<LinearLayout> 
    <LinearLayout> 
     <ListView> 
     <TextView> 

由於您TableLayout沒有在這種情況下添加任何另外的佈局也變得過時,你會從刪除它,改變獲得資源提升LinearLayout的orientationhorizontal

如果您打算稍後添加更多TableRow,那麼您應該刪除LinearLayout,因爲同樣的原因 - 它將成爲不添加額外信息的視圖:您的表格佈局將完全負責佈局,所以你可能會使它成爲佈局文件的父級(如果你這樣做,記得添加xmlns:android="http://schemas.android.com/apk/res/android"屬性。)

+0

哇人,感謝信息,真正有啓發性,我會做到這一點,看看出來,但其他的事情,如果我想添加更多的行後來說從信息在數據庫中,最好以編程方式執行或將佈局設置爲xml文件? – DeX03 2012-02-10 15:17:26

+0

如果你拉出可變數量的行,你別無選擇,只能以編程方式來做(因爲你沒有足夠的,否則你會有多餘的行)。如果你總是有一定數量(即,你有「每頁5個結果」),那麼用XML定義它們,你可以使額外的東西不被用作android:visibility =「gone」。 – Graeme 2012-02-10 15:20:31

0

1)它說:可能這樣可以避免得出結論,相信你自己年輕的徒弟!但是,是的,父看起來對我沒用太:)

2)使用Table佈局之外的ListView不會改變行佈局在列表中,如果這是你想要達到的目標。

您可能已經看到了這個,但Developers page offers a really good tutorial可以幫助您爲您的ListView(此示例使用ListActivity)創建良好的基礎。然後,您可以使用TableLayout ...等修改行的佈局。

+0

#2不,它只是在同一行中直接在它前面設置文本和列表。只是爲了使像記分卡或內容表有點佈局 – DeX03 2012-02-10 16:51:10

1

總的來說,我已經看到了更強的警告:

此的LinearLayout佈局或其RelativeLayout的父母也沒用

當這種情況並非如此。例如,如果我在相對佈局中嵌套線性佈局,就會發生這種情況。相對佈局將線性佈局恰好放置在我想要的位置,線性佈局佔用空間。兩者對我來說都是無用的用途。