Список Android Показать стиль выбранного элемента не отображается, пока пользователь не прокрутит - PullRequest
0 голосов
/ 01 февраля 2012

В настоящее время я работаю над приложением для планшета на Android, в котором есть два фрагмента: фрагмент списка и фрагмент сведений.

Я пытаюсь сделать мой список похожим на «Люди» и «Электронная почта», где при выборе фона элемент изменяетсяи треугольник расположен с правой стороны списка.

В настоящее время у меня возникают трудности с настройкой фона элемента, выбранного в списке.Как я понимаю в представлении списка, я должен установить для android: listSelector значение drawable, и все должно работать.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:orientation="vertical"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:paddingLeft="8dp"
>

     <ListView android:id="@id/android:list"
               android:layout_width="fill_parent"
               android:layout_height="fill_parent"               
               android:layout_weight="1"  
                android:listSelector="@drawable/selected_background"   
              />


     <TextView android:id="@id/android:empty"
               android:layout_width="match_parent"
               android:layout_height="match_parent"
               android:text="No data. Please check your internet connection." android:gravity="center"/>
 </LinearLayout>


<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <solid android:color="@color/hukd_orange_faded" />
</shape>

Когда я делаю это, фон цветного элемента не меняется, пока я не начну прокручивать список.,Не только это, но фон мерцает и часто возвращается к стандартному цвету фона.

Я посмотрел онлайн, и кажется, что есть проблема с Holo.light, как показано здесь Селектор списка Android застревает, когдаиспользуя Theme.Light Я пробовал два состояния, но проблемы все еще существуют.

Ответы [ 2 ]

3 голосов
/ 05 февраля 2012

Мне наконец-то удалось решить эту проблему.

Все, что требовалось, это следующие две строки

listView = getListView();
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

Теперь оно работает аналогично почте и людям в ICS для планшетов.

0 голосов
/ 01 февраля 2012

Отключить оптимизацию подсказок по цвету кеша?http://developer.android.com/resources/articles/listview-backgrounds.html

...