我正在尝试使用Master / Detail(Fragment)布局开发应用程序,但是我面临一个奇怪的问题,即当我添加自己的listview适配器然后在click / select停止工作时激活listview项目。
默认情况下提供的虚拟数据代码是
setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(
getActivity(), android.R.layout.simple_list_item_activated_1,
android.R.id.text1, DummyContent.ITEMS));
我替换的代码是
CMyListAdapter adapter = new CMyListAdapter(getActivity(),
CMyContent.getSampleMyContentList());
setListAdapter(adapter);
现在,当我点击listview项目时,它会突出显示并且不会保持持久性。
答案 0 :(得分:5)
如果您使用自定义布局,请确保您设置正确的背景可绘制:
android:background="?android:attr/activatedBackgroundIndicator"
如果您想自定义指标的样式,您必须定义自己的StateListDrawable
xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="@android:integer/config_mediumAnimTime">
<item android:drawable="@color/red" android:state_pressed="true"/>
<item android:drawable="@color/blue" android:state_selected="true"/>
<item android:drawable="@color/green" android:state_activated="true"/>
</selector>
并将其指定为行布局背景。