Я много пробовал, чтобы все работало, но без какого-либо успеха.Android - пользовательский список и выделение
Я внедрил пользовательское listview, которое отображает 3 текстовых просмотров, добавляет пользовательский адаптер моих рук и все работает правильно, я сделал registerForContextMenu (просмотр списка), и когда я нажимаю отображаемые элементы, он показывает идеальный синий выделите вокруг моего элемента, и когда я нажимаю его долго, это происходит, а затем показывает мне меню. Хорошо. Затем я добавил кнопку внутри своего пользовательского списка, отображая один цвет, если происходят определенные вещи, отображая еще одну обратную сторону. После того, как я изменил свой пользовательский адаптер, включив свою кнопку и установив логику изменения цвета, если я долгое время нажимаю на мои элементы, у меня больше нет подсветки, но контекстное меню сохраняется.
Почему это происходит?
Я много искал в Stack и Google, но каждое найденное мной решение не работало с моим приложением. Я также попытался вставить настраиваемый селектор, он отлично работает, когда я исключаю кнопку из моего дизайна списка, я полагаю, что кнопка является виновником, но я не могу найти способ решить эту проблему. Я полагаю, что что-то связано с «фоном» - «растягиваемым» кнопки, но я здесь, чтобы попросить вас о помощи.
Заранее спасибо.
Некоторые код, если это может вас заинтересовать:
listviewdesign.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="5dp"
android:layout_centerVertical="true"
android:gravity="center"
/>
<TextView
android:id="@+id/text2"
android:singleLine="false"
android:maxEms="8"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_toLeftOf="@+id/text3"
android:layout_toRightOf="@+id/text1"
android:layout_centerVertical="true"
android:gravity="center"
/>
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginRight="5dp"
android:layout_toLeftOf="@+id/btn1"
/>
<Button
android:id="@+id/btn1"
android:layout_width="10px"
android:layout_height="10px"
android:layout_alignParentRight="true"
android:layout_marginTop="20dp"
/>
</RelativeLayout>
mainactivitylayout.xml:
<LinearLayout ...>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@android:id/list"
(when I add selector: android:listSelector="@xml/myselector")
android:clickable="false"
/>
</LinearLayout>
И мой селектор для полноты:
<selector xmlns:android="http://schemas.android.com/apk/res/android"
class="class of project">
<item android:state_pressed="true"
android:drawable="@drawable/pressed"/>
<item android:state_focused="true"
android:drawable="@drawable/focused"/>
<item android:state_selected="false"
android:state_pressed="false"
android:drawable="@drawable/normal"/>
<item android:drawable="@drawable/normal"/>
</selector>
Где t подходящие для шланга элементы, такие как:
<resources>
<drawable name="pressed">#FF00A5FF</drawable>
<drawable name="focused">#FF0000FF</drawable>
<drawable name="normal">#00000000</drawable>
</resources>
Спасибо!
Я пытался, но не получилось ... Почему вытяжке папка не правильно хранить свой собственный селектор? – pippo
, вы должны поместить свой myselector.xml в свою папку. то используйте выше код, тогда он будет работать. –
Я пробовал, но он не работает ... Я думаю, что есть модификация области, на которую можно щелкнуть: только в определенных точках она выделяет весь элемент, но если я нажимаю «случайно» в строке, он не работает (кроме в некоторых случаях: я заметил специально на границе между одним элементом и другим) – pippo