2014-01-26 7 views
0

Я читал множество статей здесь, в селекторах списка, но я просто не могу заставить его работать. Когда я нажимаю строку в своем списке, весь список, а не выбранный элемент меняет цвет. Я использую фрагмент Listview и пользовательскую строку.ListView-селектор изменяет весь список списка, а не строку

Во-первых, моя пользовательская строка начинается так, стиль устанавливает мой цвет фона по умолчанию и другие вещи на то, что я хочу. Внутри здесь представлены только некоторые виды. Как видно на рисунке слева.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
style="@style/darkBackdropList" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="horizontal" > 

Далее, у меня есть селектор:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:state_pressed="true" 
    android:drawable="@drawable/selected"/> 
</selector> 

Drawable/выбран только светло-серый/синий цвет:

<drawable name="selected">#8FBDAB</drawable> 

В моем фрагменте я это сделать:

public class GuideListFragment extends ListFragment { 
@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    getListView().setSelector(R.drawable.darklistselector); 
} 
} 

Когда отображается список моих списков, ks штраф. Но когда я выбираю одну строку, список, охватывающий всю деятельность, меняет цвет на «darklistselector».

Я попытался установить это как пользовательский ряд строк, но он просто стал еще более странным изменением всего экрана между черным, серо-синим и белым.

Спасибо за любую помощь.

enter image description here

ответ

0

К сожалению, моя вина, однако в случае, если кто-то делает то же самое, что и я. В основном я должен был удалить свой стиль и изменить его на:

android:background="@drawable/darklistselector" 

затем добавить новый селектор для не нажат:

<item android:state_pressed="true" android:drawable="@drawable/selected"/> 
    <item android:state_pressed="false" android:drawable="@drawable/standard"/> 

С отмеченными являются строкой выделить и норматив нормального фона используется мой стиль быть.