我正在使用SherlokListFragmentListView
在内部创建一个Fragment
.
我设置了适配器:
adapter = new ServiceArrayAdapter(getActivity(), ((ACT_ListProvider)this.getActivity()).getItems());
setListAdapter(adapter);
我做了一个定制ListView
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
getListView().setPadding(3, 3, 3, 3);
getListView().setDividerHeight(2);
getListView().setBackgroundColor(Color.parseColor("#eeeeee"));
getListView().setCacheColorHint(Color.parseColor("#00000000"));
getListView().requestFocusFromTouch();
getListView().setSelector(R.drawable.list_selector);
单击一个项目时,我调用此代码:
getListView().setItemChecked(index, true);
除选择器外,所有自定义项都已正确添加到我ListView
的列表中。我已经在其他项目中使用过该选择器,并且效果很好(但我一直在 xml 布局中使用它),所以我不明白为什么它没有添加到我的ListView
. 问题可能出在哪里?
编辑:
特别是我希望如果单击一个项目,焦点仍然在它上面,而现在它立即消失。我的选择器的代码如下:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="false"
android:state_pressed="false"
android:drawable="@drawable/gradient_bg_hover" />
<item android:state_pressed="true"
android:drawable="@drawable/gradient_bg_hover" />
<item android:state_selected="true"
android:state_pressed="false"
android:drawable="@drawable/gradient_bg_hover" />