无法在Master / Detail Fragment ICS 4.0中设置激活列表项

时间:2013-04-07 20:11:51

标签: android android-layout android-fragments android-listfragment

我正在尝试使用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项目时,它会突出显示并且不会保持持久性。

1 个答案:

答案 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>

并将其指定为行布局背景。