focus - 在两个 ListView 中浏览并失去焦点

标签 focus google-tv listviewitem android-listfragment d-pad

我有一个片段事件包括两个列表片段。 我使用方向键在列表中移动。 例如,当我点击 listview1->tv 时,在 listview2 中显示电视 channel .当我点击 listview1->movie 时,在 listview2 中显示电影列表等。

所以这是我的问题:当我单击 listview1->item3(item3 现在由选择器突出显示)并转到 listview2并使用方向键向上/向下浏览项目,然后我返回到 listview1,按左箭头键,我希望返回到 listview->item3。但事实并非如此,我无法在 listview1 中使用 witch item 来聚焦(突出显示)

我无法处理焦点项目,我需要返回到最后选择的项目 (getListView().getSelectedItemPosition()) 具有真实的项目位置编号但焦点/高亮不是真的/最后的位置)

安卓 2.3.4

我用了这些方法,但都没有用

getListView().setOnFocusChangeListener(new OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean focused) {
        // TODO Auto-generated method stub
        if (!focused) allowfocus=true;
        if (focused && allowfocus){
            getListView().setSelection(PosHolder.MENU_LAST_POS);
                    OR 
            getListView().setSelection(getListView().getSelectedItemPosition());
                    OR
            getListView().getSelectedView().setSelected(true);
                    OR
            getListView().getSelectedView().requestFocus();

            Toast.makeText(getActivity(), "Menu Got Focused:"+ getListView().getSelectedItemPosition(), Toast.LENGTH_SHORT).show();
        }
    }
});

最佳答案

对我有用的是创建一个继承自原始 ListView 的自定义 ListView,然后重写 OnFocusChange 事件以处理您在其中的焦点。

关于focus - 在两个 ListView 中浏览并失去焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12768835/

相关文章:

c# - 在 ListViewItem C# 中添加多于 2 个图像

mobile - Flutter listview.separator item 点击

c# - Listview.count - InvalidArgument= '0' 的值对于“索引”无效

android - 如何在 MultiAutoCompleteTextView 获得焦点时显示软键盘

android - 在列表适配器android中水平移动Edittext的焦点

c# - 使用自动完成功能更新 Enter 事件处理程序中的组合框项目

android - Android 3.2 的谷歌电视模拟器

Android Studio/Win8/ERR_NAME_NOT_RESOLVED

wpf - Xamly 将键盘焦点设置为 DataGridTemplateColumn 单元格中的元素?

android - Google TV(或更普遍的 Android)的 HLS 播放器是否支持替代音频?