2012-12-16 66 views
3

我有一个GridView和文本单元格垂直填充, 此外由于一些奇怪的原因,属性Refer,可能是RDA或AI,仅在RDA,AI似乎显示不可见(我的表格没有空单元格)。GridView布局文本填充问题和空单元格

看到这个截图更好地理解 enter image description here

在GridView填充用这种方法

private void populateGrid(){ 
    Cursor c = dba.getNutriData(): 
    startManagingCursor(c); 

    String[] from = new String[] { dba.Nutrient, dba.Intake, dba.Limit, dba.Refer}; 
    int[] to = new int[] { R.id.txtNutrient, R.id.txtIntake, R.id.txtLimit, R.id.txtRefer}; 

    SimpleCursorAdapter sca = new SimpleCursorAdapter(this, R.layout.grid_row, c, from, to); 

    grid.setAdapter(sca); 
} 

我用这个GridView的布局

 <GridView 
      android:id="@+id/tabellaDieta" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fitsSystemWindows="false" 
      android:gravity="start" 
      android:numColumns="1" 
      android:scrollingCache="true" 
      android:stretchMode="columnWidth" 
      android:textAlignment="textStart" > 

     </GridView> 

这是gridrow布局

<?xml version="1.0" encoding="utf-8"?> 

<TableLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <TableRow android:layout_gravity="left"> 

    <TextView 
     android:id="@+id/colNome" 
     android:layout_width="50px" 
     android:layout_height="wrap_content" 
     android:layout_gravity="left" 
     android:layout_weight="1" 
     android:gravity="left|start" 
     android:padding="5px" 
     android:textColor="@color/white" 
     android:textSize="12dp" /> 

    <TextView 
     android:id="@+id/colDose" 
     android:layout_width="50px" 
     android:layout_height="wrap_content" 
     android:layout_gravity="left" 
     android:layout_weight="1" 
     android:gravity="left|start" 
     android:padding="5px" 
     android:textColor="@color/greenlight" 
     android:textSize="12dp" > 

</TextView> 

    <TextView 
     android:id="@+id/colLimite" 
     android:layout_width="50px" 
     android:layout_height="wrap_content" 
     android:layout_gravity="left" 
     android:layout_weight="1" 
     android:gravity="left|start" 
     android:padding="5px" 
     android:textColor="@color/orange" 
     android:textSize="12dp" /> 

    <TextView 
     android:id="@+id/colRiferimento" 
     android:layout_width="50px" 
     android:layout_height="wrap_content" 
     android:layout_gravity="left" 
     android:layout_weight="1" 
     android:gravity="left|start" 
     android:padding="5px" 
     android:textColor="@color/light_sky" 
     android:textSize="12dp" > 

</TextView> 

    </TableRow> 
</TableLayout> 

回答

4

这个android:layout_weight="1"的值和这条线android:padding="5px"和这条线android:numColumns="1"是至关重要的。

测试通过移除weightpadding线,并增加columns

数量也已固定的textView这里的宽度android:layout_width="50px"使其WrapContent

+0

的问题是重...感谢这个建议 – Silverstorm