不寻常的Listview错误

时间:2011-07-03 15:58:29

标签: android listview video orientation

我制作了一个小型的Android应用程序,它在SD卡上维护一个视频文件列表并播放它。我正在使用带有文本的列表视图和每行中的两个图像。我刚注意到的问题很常见。在水平模式下,只有那些适合屏幕区域的列表项才会显示为正常,而那些需要滚动才能出现的项目要么处于错误的顺序,要么只是重复列表顶部的项目。此外,通过向上和向下滚动,有时项目的顺序改变..我使用两个xml文件。首先是列表视图,第二个是列表视图的内容。这是两个xml文件的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
    android:id="@+id/list"
    android:listSelector="@android:color/transparent"
    android:divider="@drawable/bwgradient"
    android:dividerHeight="1.5px"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    />

</LinearLayout>


<?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="wrap_content">
 <ImageView
  android:id="@+id/image"
  android:layout_width="50dip"
  android:layout_height="50dip" 
  android:layout_marginTop="2dip"
  android:layout_marginBottom="2dip"
  android:src="@drawable/cover" 
  android:scaleType="centerCrop"/>

 <TextView
  android:id="@+id/text"
  android:state_focused="false"
  android:listSelector="#00000000"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:layout_weight="1" 
  android:layout_gravity="left|center_vertical" 
  android:textSize="14dip" 
  android:layout_marginLeft="20dip"/>
  <ImageView
  android:id="@+id/play"
  android:layout_width="30dip"
  android:layout_height="30dip" 
  android:src="@drawable/play" 
  android:onClick="imageClick"
  android:layout_gravity="center"
  android:layout_marginRight="20dip"
  android:scaleType="centerCrop"/>
  </LinearLayout>

任何可能的建议??

1 个答案:

答案 0 :(得分:0)

当方向从水平变为纵向时,反之亦然,活动将重新创建(活动对象已销毁,新的活动对象将创建)。有关详细信息,请参阅文档http://developer.android.com/reference/android/app/Activity.html#ConfigurationChanges