我希望能够查看在我的列表中选择了哪些项目。在变成 之前ListView
,ListFragment
所选项目的背景颜色为蓝色(全息黑暗),但现在我只能在按下项目时看到蓝色 - 然后它就消失了。我对“检查”的项目没有问题,因为它们是。你只是看不到它。
这是我所做的onActivityCreated()
:
getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
getListView().setItemsCanFocus(false);
getListView().setMultiChoiceModeListener(new LongPress());
LongPress()
是一个实现的私有类ListView.MultiChoiceModeListener
。将手指放在项目上时,它会打开一个上下文操作栏。然后用户可以选择更多项目,这就是问题发生的地方。您看不到哪些项目被选中(我希望它们被突出显示)。为什么它在扩展之前起作用ListFragment
?我试图在我的 .xml 文件中创建一个自定义选择器,但这似乎也不起作用。如果有的话,我更喜欢使用自定义的。
这是我ListFragment
课堂上的另一种方法:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_listview, container, false);
}
fragment_listview.xml 除了更改背景颜色和分隔线颜色外,没有做任何特别的事情。
我应该怎么办?
我试过这个,但没有奏效:
在我的 list_item.xml 中:
android:background="@drawable/selector"
选择器.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:drawable="@drawable/item_checked" />
</selector>
item_checked.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http//schemas.android.com/apk/res/android" >
<solid android:color="#000000" />
</shape>