0

我正在使用每行有 3 个 TextViews 的 ListView。很简单,对吧?

我想使用重量而不是固定宽度,但这似乎真的因为某种原因搞砸了。

这是我的行的布局:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#f0f0f0"
android:weightSum="7">
<TextView
    android:id="@+id/listCaseName"
    android:gravity="left"
    android:layout_weight="3"
    android:width="0dp"
    android:textSize="18dp"
    android:textStyle="bold"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:lines="1"
    android:ellipsize="end" />
<TextView
    android:id="@+id/listCaseStatus"
    android:layout_weight="2"
    android:textSize="20dp"
    android:gravity="center"
    android:width="0dp"
    android:layout_width="0dp"
    android:layout_height="wrap_content" />
<TextView
    android:id="@+id/listPDF"
    android:layout_weight="2"
    android:gravity="center"
    android:textSize="20dp"
    android:width="0dp"
    android:layout_width="0dp"
    android:layout_height="wrap_content" />

</LinearLayout>

一切看起来都很好,直到我向下滚动,选择一个项目并向上滚动。(我有一些特殊的代码来突出显示选定的行,但我很确定这不是问题)

这是列表视图最初的样子(非常好): listviewWeightsInitial

这是我在单击一个项目后向上滚动时的样子:

滚动备份

有一堆额外的空间(大的灰色块)

当我进一步向上滚动时,它看起来像这样:

scrollingUpFurther

一些文字也被弄乱了。

我可以通过固定文本视图的宽度而不是使用权重来缓解这个问题。

我一无所知。我对列表视图有一点经验,但直到现在我一直使用固定大小的东西,从来没有遇到过任何麻烦。

谢谢!

4

1 回答 1

0

您是否尝试myView.invalidate()点击点击?

于 2012-12-12T23:36:08.507 回答