【发布时间】:2013-04-04 21:40:40
【问题描述】:
我关注了 Android 官方网站的tutorial on creating contextual action menus。使用下面的代码,当我长按我的 ListView 项目之一时,它确实 被选中,但它并没有直观地表明它已被选中。我正在使用 Holo Light 主题,我希望 ListView 中每个选定项目的背景颜色都变为蓝色。
这是正常行为吗?
我已经尝试测试listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);,甚至没有一行会突出显示。
使用listView.setSelector(android.R.color.holo_blue_light); 似乎会突出显示最后选择的行,但不会突出显示其他被选择的行。
是我做错了什么,还是我需要手动更改背景?如果有,怎么做?
我也尝试过listView.setSelector(android.R.drawable.list_selector_background);,这是一个真正的选择器,包含不同状态的项目。不幸的是,它仍然只适用于最近选择的 ListView 项。
public class MyActivity extends ListActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// The list is generated here
ListView listView = getListView();
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
listView.setMultiChoiceModeListener(new MultiChoiceModeListener() {
// implements empty methods
}
}
}
谢谢!
【问题讨论】:
-
您是否设法进入上下文操作视图?我一直在尝试做同样的事情,但没有运气。试图达到和Jelly Bean闹钟ListView效果一样的效果,在item长按时进入删除模式。
标签: android android-layout android-widget