2013-04-02 24 views
8

Mam problem. Najpierw sprawdź mój kod:State_Selected nie działa, chociaż state_pressed działa

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" android:color="@color/clickedtext" /> 
    <item android:state_pressed="true" android:color="@color/clickedtext" /> 
    <item android:color="@color/defaulttext" /> 
</selector> 

Tutaj domyślny kolor tekstu pojawia się w domyślnym stanie. Po kliknięciu zmienia się kolor tekstu w liście. Ale kolor tekstu nie zmienia się po wybraniu elementu.

Próbowałem niektórych rzeczy, ale nie mogę obsłużyć tego problemu. Co powinienem zrobić?

+0

co dzieje się w ramach Java? Czy nazywasz setSelected (true) w twoim widoku? – znat

+0

używam go na ListView, czy trzeba go używać również w widoku tekstowym? – alicanbatur

+0

Występują pewne problemy z 'state_selected' na niektórych urządzeniach. Możecie rzucić okiem na kilka pomysłów: http://stackoverflow.com/questions/14237978/listview-item-state-selected-is-lost-on-samsung-device –

Odpowiedz

17

Szukałem również odpowiedzi na to, korzystając z ListView, i musiałem trałować przez wiele postów tutaj przed znalezieniem this one, które uważam za najlepszą opcję, i działał jak urok.

Chodzi o to, aby ustawić widok jako zaznaczony, a następnie użyć state_activated zamiast state_selected, aby dokonać wyboru. Jeśli używasz ListView lub podobnego, musisz również zadzwonić pod numer setChoiceMode(ListView.CHOICE_MODE_SINGLE), aby upewnić się, że tylko jeden element jest zaznaczony. Aby uzyskać więcej informacji, zobacz the post

Mam nadzieję, że pomoże to komuś znaleźć rozwiązanie szybciej niż ja!

+0

Dzięki, ta odpowiedź jest naprawdę przydatna. http://stackoverflow.com/questions/9729517/showing-the-current-selection-in-a-viewview/9729579#9729579 – alicanbatur

+0

@sleeke ** Chodzi o to, aby ustawić widok jako zaznaczony ** czy możesz wyjaśnić to? – User

0

przy użyciu niestandardowego listitem-layout: set

android:background="?android:attr/activatedBackgroundIndicator" 

jako tło

Powiązane problemy