所以这是一个脑筋急转弯,我有一个自定义布局的ListView,问题是值没有正确显示(参见图片)。首先,3.0+列表中的所有值都填充正常。 在2.3& 2.2列表中的第一项已正确填充,但文本中的第二项被截断或根本不显示。 另一件事是,如果我尝试慢慢向上或向下滚动,值开始显示,但显然这不是所需的行为。
这是列表中每个项目的xml布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="3"
android:orientation="horizontal"
android:paddingTop="8dip">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="3"
android:orientation="vertical" >
<TextView
android:id="@+id/toptext"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:gravity="center_vertical"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/bottomtext"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:ellipsize="marquee"
android:singleLine="true" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="7"
android:orientation="vertical" >
<TextView
android:id="@+id/value1"
android:layout_width="wrap_content"
android:layout_height="0dip"
android:layout_gravity="right"
android:layout_marginRight="6dip"
android:layout_weight="1"
android:textSize="20sp" />
<TextView
android:id="@+id/value2"
android:layout_width="wrap_content"
android:layout_height="0dip"
android:layout_gravity="right"
android:layout_marginRight="6dip"
android:layout_weight="1"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/value3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="horizontal" >
<ImageView
android:id="@+id/valu4"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ImageView>
</LinearLayout>
<LinearLayout
android:id="@+id/value5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:orientation="horizontal" >
<ImageView
android:id="@+id/value6"
android:layout_width="wrap_content"
android:layout_height="10dp" >
</ImageView>
<ImageView
android:id="@+id/value7"
android:layout_width="wrap_content"
android:layout_height="10dp" >
</ImageView>
<ImageView
android:id="@+id/value8"
android:layout_width="wrap_content"
android:layout_height="10dp" >
</ImageView>
</LinearLayout>
<LinearLayout
android:id="@+id/value9"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:orientation="horizontal" >
<TextView
android:id="@+id/value10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="left"
android:textSize="8dp"
android:textStyle="bold" >
</TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="TextHere"
android:textSize="8dp"
android:textStyle="bold" >
</TextView>
<TextView
android:id="@+id/Value11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:textSize="8dp"
android:textStyle="bold" >
</TextView>
</LinearLayout>
</LinearLayout>
这是主要的xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingLeft="8dip"
android:paddingRight="8dip"
android:theme="@android:style/Theme.Black.NoTitleBar">
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:layout_weight="7"
android:scrollbars="none"
android:transcriptMode="normal">
</ListView>
</LinearLayout>
感谢您提前提供任何帮助,抱歉,我无法发布图片,直到达到10级(noob here&lt; - )
添加了Pic链接! 滚动前: http://imgur.com/BYVgfEI
答案 0 :(得分:0)
好的,所以我知道问题中提供的信息无法找出答案。但是,万一其他人遇到这种奇怪的行为,这就是造成这个问题的原因。
在onCreate方法中我有一行:
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
除非滚动视图,否则会导致文本视图剪切或不显示文本。操作栏在API 11之前没有实现,2.3仅为9.但是没有编写或部署项目。
解决方案用以下代码替换上面的行:
if (android.os.Build.VERSION.SDK_INT >=android.os.Build.VERSION_CODES.HONEYCOMB) {
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
}
更改后,列表视图中的文本显示正确。