android - 将焦点移动到 GridView 的第一个项目 View

标签 android android-layout focus android-gridview

在我的 Activity 中,我有两个 fragment ,第一个 fragment 包含一个线性布局,第二个 fragment 包含一个 GridView ,我必须在我的应用程序中支持方向键导航。

现在当用户按下键移动到 GridView 时,我想将 GridView 的第一项显示为选定 View

enter image description here

所以每次当焦点从 linearlayout 移动到 gridview 时,gridview 的第一个项目应该被选中/聚焦

非常感谢任何关于这些的线索

最佳答案

在朝向 gridview 的按键上,您可以调用:

firstItem.requestFocus();

将“firstItem”替换为您的元素名称,例如按钮、编辑文本等

您可以为您的 Activity 实现 OnFocusChangeListener 并执行此操作:

gridView.setOnFocusChangeListener(this);

然后

@Override
public void onFocusChange(View v, boolean hasFocus) {

    if(hasFocus){
        firstItem.requestFocus();
    }
}

关于android - 将焦点移动到 GridView 的第一个项目 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19806314/

相关文章:

java - 在 android 上为 fragment 实现 OnClickListener

android - 如何使用自定义 View 创建通知,但具有原生外观?

macos - SwiftUI:从 macOS TextField 中删除 'Focus Ring' 高亮边框

android - 如何在Rikulo中使用Cordova/Phonegap文件系统API?

java - 自定义 View 调用了 setOnTouchListener 但没有覆盖 performClick(类扩展 Activity NOT View)

android - 解决屏幕方向变化的两个具体问题 (Android)

java - 在 listView android 中设置 alpha 透明度

android - FragmentContainerView 使用 findNavController

jQuery-:focus Triggering When Switching Windows/Tabs