【发布时间】:2017-03-21 20:11:26
【问题描述】:
我有问题。在我的列表视图 (lv) 中,我有方法可以捕捉其中的项目点击 和长点击。
- 单击项目时,会打开新意图。效果很好。
- 然后我有长按监听器,长按 textview 中的长文本开始滚动(marquee)。但我无法检测到,当用户停止持有该项目时,停止移动文本。
我的代码:(我必须在 java 中设置,因为在 xml 中它不起作用)
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int pos, long id) {
arg1.findViewById(R.id.jmenoskoly);
TV = (TextView) arg1.findViewById(R.id.jmenoskoly);
TV.setEllipsize(TextUtils.TruncateAt.MARQUEE);
TV.setSingleLine(true);
TV.setMarqueeRepeatLimit(5);
TV.setSelected(true);
return true;
}
});
所以我的问题是:如何检查用户是否停止在列表视图中持有该项目?(请完整的代码示例。)
【问题讨论】:
-
have tried to measure how long user holds?
onItemLongClick在固定延迟后触发一次,与您要跟踪的用户动作无关 -
我想检测用户是否拿起他的手指。 (来自 listview 项目或屏幕 = 相同的结果。)
-
TouchListener 跟踪向下和向上状态,但您可能必须实现一个自定义适配器来为每个项目设置一个。