2016-11-01 92 views
0

我已經搜索,發現很多人都報告過這個問題。 這些都是一些我已經throught不見了鏈接:LinearLayout重量不工作列表視圖

和其他一些人也

這些環節都提出了以下解決方案

  1. 更換mInflater.inflate(渣油,父母,假);用mInflater.inflate(resID,null,false);
  2. 製作列表視圖爲 android:layout_width =「match_parent」 android:layout_height =「wrap_content」 我甚至嘗試過用fill_parent做實驗,但它沒有奏效。
  3. 列表視圖內的另一個線性佈局內的相對佈局和withing
  4. 行XML,一個線性佈局
  5. 對於水平方向使機器人:layout_width =「0dp」。當我這樣做時,listview不會彈出。它仍然是空白的

我無法找到任何東西在android文檔中的這個特定的問題。

我的列表視圖:

android:id="@+id/lst_stocks" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_below="@+id/row_heading" 
    android:layout_marginTop="@dimen/margin_5" 

我其他的XML文件:

<?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="wrap_content" 
android:background="@drawable/border" 
android:orientation="horizontal" 
android:weightSum="3"> 


<TextView 
    android:id="@+id/txt_rating" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:padding="@dimen/margin_10" 
    android:text="Rating" 
    android:textAlignment="center" 
    android:textColor="@color/colorPrimaryDark" /> 

<TextView 
    android:id="@+id/txt_name" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:ellipsize="end" 
    android:maxEms="10" 
    android:padding="@dimen/margin_10" 
    android:singleLine="true" 
    android:text="Companay" 
    android:textAlignment="center" 
    android:textColor="@color/colorPrimaryDark" 
    /> 

<TextView 
    android:id="@+id/txt_sector" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:ellipsize="end" 
    android:maxEms="10" 
    android:padding="@dimen/margin_10" 
    android:singleLine="true" 
    android:text="Sector" 
    android:textAlignment="center" 
    android:textColor="@color/colorPrimaryDark" /> 
</LinearLayout> 

我使用在其他地方這個xml文件以及,在那裏工作完全正常。

  • 那麼我錯過了什麼。爲什麼線性佈局權重不起作用?
  • 準則有效利用內部列表視圖LinearLayouts

附:我在兩個單獨的手機上​​運行這些文件,而不是在模擬器上運行。

+1

您需要將您的寬度設置爲0,這些項目使用重量**而不是**您的'ListView' – codeMagic

+0

夫婦其他快速筆記。你不需要'水平佈局'的'orientation',因爲它是默認的。另外,最好不要設置'weightSum',除非你有理由讓設備爲你做。 – codeMagic

回答

0

使TextView的layout_width爲0dp。

<?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="wrap_content" 
    android:background="@drawable/border" 
    android:orientation="horizontal" 
    android:weightSum="3"> 


    <TextView 
    android:id="@+id/txt_rating" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:padding="@dimen/margin_10" 
    android:text="Rating" 
    android:textAlignment="center" 
    android:textColor="@color/colorPrimaryDark" /> 

    <TextView 
    android:id="@+id/txt_name" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:ellipsize="end" 
    android:maxEms="10" 
    android:padding="@dimen/margin_10" 
    android:singleLine="true" 
    android:text="Companay" 
    android:textAlignment="center" 
    android:textColor="@color/colorPrimaryDark" 
    /> 

    <TextView 
    android:id="@+id/txt_sector" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:ellipsize="end" 
    android:maxEms="10" 
    android:padding="@dimen/margin_10" 
    android:singleLine="true" 
    android:text="Sector" 
    android:textAlignment="center" 
    android:textColor="@color/colorPrimaryDark" /> 
    </LinearLayout> 
0
if u want to use weight to set your height of textview , then u must first ` 
<TextView 
    android:id="@+id/txt_sector" 
    android:layout_width="wrap_content" 
    android:layout_height="0dp" // Change is done here 
    android:layout_weight="1" 
    android:ellipsize="end" 
    android:maxEms="10" 
    android:padding="@dimen/margin_10" 
    android:singleLine="true" 
    android:text="Sector" 
    android:textAlignment="center" 
    android:textColor="@color/colorPrimaryDark" />` 

similarly if u r looking to set width , u can use width="0dp" and wieght="1"