我制作了一个小型的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>
任何可能的建议??
答案 0 :(得分:0)
当方向从水平变为纵向时,反之亦然,活动将重新创建(活动对象已销毁,新的活动对象将创建)。有关详细信息,请参阅文档http://developer.android.com/reference/android/app/Activity.html#ConfigurationChanges