我收到以下棉绒警告错误:highscores.xml has more than 80 views bad for performance
。这是我的高分表,有15行3列。这是我的应用程序的精简版,我的付费版本将容纳30行。
我的问题是如何优化此代码?一定有更好的方法。
highscores.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/relativelayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="*"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="5dp"
android:paddingBottom="65dp"
android:background="@drawable/scroll" >
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textStyle="bold"
android:textSize="18sp"
android:paddingBottom="10dp"
android:paddingTop="65dp" />
<LinearLayout
android:id="@+id/linearlayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:paddingTop="5dp" >
<Button
android:id="@+id/homeBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="14sp" />
<Button
android:id="@+id/clearHS"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="14sp" />
</LinearLayout>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:background="@drawable/scrollviewborder"
android:layout_below="@id/title"
android:layout_above="@id/linearlayout"
android:fillViewport="true"
android:scrollbars="none" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r1s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r1c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r1b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r2s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r2c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r2b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r3s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r3c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r3b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r4s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r4c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r4b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r5s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r5c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r5b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r6s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r6c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r6b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r7s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r7c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r7b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r8s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r8c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r8b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r9s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r9c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r9b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r10s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r10c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r10b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r11s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r11c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r11b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r12s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r12c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r12b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r13s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r13c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r13b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r14s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r14c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r14b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/r15s"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="25"
android:gravity="center"
android:textSize="14sp" />
<TextView
android:id="@+id/r15c"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center"
android:textSize="14sp" />
<Button
android:id="@+id/r15b"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp" />
</TableRow>
</TableLayout>
</ScrollView>
</RelativeLayout>
最佳答案
在ListView
中使用TableLayout
代替ScrollView
。这不仅使您可以根据可用的屏幕大小仅拥有实际需要的行数,而且还可以摆脱按钮的使用,只需单击列表项就可以执行按钮应做的任何事情。