我有LinearLayout
:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="wrap_content"
style="@style/activated_item"/>
使用style / activated_item:
<style name="activated_item" parent="android:Theme.Holo">
<item name="android:background">@drawable/item_light_list</item>
</style>
其中drawable / items_light_list:
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="@android:integer/config_mediumAnimTime">
<item android:state_activated="true" android:drawable="@drawable/list_activated_holo"></item>
<item android:state_selected="true" android:drawable="@drawable/list_selected_holo_light"></item>
<item android:drawable="@drawable/list_selected_holo_light"></item> <!-- If I would remove this line the item will be selected after a long click -->
</selector>
上述LinearLayout
用于在'view'中进行充气,以用作ListFragment
中的项目。我需要在项目长按后更改android:background
值。我试着这样做:
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
view.setSelected(true);
return true;
但这不起作用。
请建议我应该做什么以及如何更改drawable resourse
以便在background color
之后设置不同的longclick
。
编辑:
如果我删除<item android:drawable="@drawable/list_selected_holo_light"></item>
一切正常,但这不是我的解决方法。