необычная ошибка Listview - PullRequest
1 голос
/ 03 июля 2011

Я сделал небольшое приложение для 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 голосов
/ 03 июля 2011

когда ориентация меняется с горизонтальной на портретную и наоборот, действие воссоздается само (объект действия уничтожен и будет создан новый объект действия). См. Документы http://developer.android.com/reference/android/app/Activity.html#ConfigurationChanges для получения дополнительной информации

...