我将这个实现到具有远程功能的android电视盒。
我在ScrollView中有一个包含生成的View的LinearLayout。
我以编程方式将第一个View的NextFocusUpId设置为最后一个View,反之亦然,所以当用户向上浏览第一个View时,它会旋转到最后一个View,反之亦然。
问题是,当我稍后按字母顺序对列表进行排序时,第一个和最后一个View位于中间位置,当用户在列表中向上导航并到达第一个View(排序之前)时,它就是&#39 ; s跳转到最后一个View(排序之前),而不是查看下一个View。如果我将NextFocusUpId设置为自身,则用户无法在视图排序之前和之后浏览视图。
view1.setNextFocusUpId(view1.getId());
如果可能的话,我希望避免手动迭代视图,并在运行排序时在每个视图中添加NextFocusUpId和NextFocusDownId。
答案 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.