如何在recyclerview全屏中了解焦点元素

时间:2018-03-13 14:38:03

标签: android android-recyclerview

我设置了一个工作正常的Recyclerview。我想知道什么时候某个元素在屏幕上有焦点。我的recyclerview将每个项目显示为全屏。可以在视图中或在某个地方知道具有焦点的项目是什么?

我的问题是我的每个项目都有倒计时。而且我只想在项目有焦点时开始倒计时。

提前致谢

2 个答案:

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

通过这种方式,您还可以定义是否要选择一个项目或多个项目。

要了解谁拥有焦点(被选中),您必须遍历项目列表(模型方面)。

编辑:焦点只能用于视图遍历,或者用于例如键盘......