3

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

所以这是我的问题:当我单击listview1->item3item3现在由选择器突出显示)并转到listview2并使用 d-pad up/down 浏览项目然后我回到listview1,按左箭头键,我希望回到listview->item3。但事实并非如此,我不能让listview1中的女巫项目集中(突出显示)

我无法处理焦点项目,我需要返回上一个选定项目 ( 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();
        }
    }
});
4

1 回答 1

1

对我有用的是创建一个继承自原始 ListView 的 customListView,然后覆盖 OnFocusChange 事件以在那里处理您的焦点。

于 2013-01-11T09:39:11.357 回答