android查看将setNextFocusUpId重置为默认行为

时间:2016-01-22 07:47:09

标签: android

我将这个实现到具有远程功能的android电视盒。

我在ScrollView中有一个包含生成的View的LinearLayout。

我以编程方式将第一个View的NextFocusUpId设置为最后一个View,反之亦然,所以当用户向上浏览第一个View时,它会旋转到最后一个View,反之亦然。

问题是,当我稍后按字母顺序对列表进行排序时,第一个和最后一个View位于中间位置,当用户在列表中向上导航并到达第一个View(排序之前)时,它就是&#39 ; s跳转到最后一个View(排序之前),而不是查看下一个View。

如果我将NextFocusUpId设置为自身,则用户无法在视图排序之前和之后浏览视图。

view1.setNextFocusUpId(view1.getId());

如果可能的话,我希望避免手动迭代视图,并在运行排序时在每个视图中添加NextFocusUpId和NextFocusDownId。

1 个答案:

答案 0 :(得分:0)

当提出这个问题时,我找到了这个解决方案。

view1.setNextFocusUpId(View.NO_ID);

进行重置。

编辑: 看起来在文档中,文档中有解决方案 http://developer.android.com/reference/android/view/View.html#setNextFocusDownId%28int%29

Parameters
nextFocusDownId     The next focus ID, or NO_ID if the framework should decide automatically.