我设置了一个工作正常的Recyclerview。我想知道什么时候某个元素在屏幕上有焦点。我的recyclerview将每个项目显示为全屏。可以在视图中或在某个地方知道具有焦点的项目是什么?
我的问题是我的每个项目都有倒计时。而且我只想在项目有焦点时开始倒计时。
提前致谢
答案 0 :(得分:0)
尝试调用getFocusedChild():
View focusedView = (View) recyclerview.getFocusedChild();
答案 1 :(得分:0)
没有任何对象应该“拥有”焦点。
如果您需要该功能,则需要实现它。
例如,您可以在模型类中添加成员hasFocus
,然后在视图持有者中添加
if (hasFocus) displayWithFocus();
else displayWithoutFocus();
然后你必须像这样定义一个view.OnItemClicekListener
onItemClicked(... View view, position p, ...){
itemsList.elementAt(p).setHasFocus(true)
}
通过这种方式,您还可以定义是否要选择一个项目或多个项目。
要了解谁拥有焦点(被选中),您必须遍历项目列表(模型方面)。
编辑:焦点只能用于视图遍历,或者用于例如键盘......