我有一个ListView,当通过onItemClick监听器点击一行项目时,它会打开另一个活动。
我希望该行在被点击后能保持其按下状态,直到屏幕切换到新活动。我认为这将为用户提供更清晰的体验,而且你可以在大多数按钮(如打开/关闭对话框或切换活动)中看到类似的效果。
我尝试在onItemClick()监听器中使用view.setPressed(true)来设置状态,但它似乎是在按下状态返回正常之后短暂地调用,因此会闪烁。
例如:
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
view.setPressed(true);
//start an activity
}
});
这段代码几乎可以正常工作,除了会有闪烁现象(用户按下列表项,它变为选中状态,然后用户松开手指完成点击,它会在调用setPressed(true)之前的短暂时间内回到正常状态,然后再次变为选中状态)。
有什么建议吗?
谢谢。
编辑:我应该提到,我正在使用一个XML可绘制选择器来定义列表背景的正常,按下,选中等状态。