我在 ListFragment 中有一个 ListView,当用户更改列表中的焦点项目时,我想更改片段的背景。我在这里特别说焦点,因为这是一个谷歌电视应用程序,所以我的目标是 dpad 控件和项目选择做其他事情。
问题是,当列表项焦点发生变化时,如何获得通知或回调,类似于 onListItemClick,但焦点?当适配器创建它时,我尝试在行视图上设置 OnFocusChangeListener 但似乎从未被调用过。
我在 ListFragment 中有一个 ListView,当用户更改列表中的焦点项目时,我想更改片段的背景。我在这里特别说焦点,因为这是一个谷歌电视应用程序,所以我的目标是 dpad 控件和项目选择做其他事情。
问题是,当列表项焦点发生变化时,如何获得通知或回调,类似于 onListItemClick,但焦点?当适配器创建它时,我尝试在行视图上设置 OnFocusChangeListener 但似乎从未被调用过。
onItemSelected
相反,当 listView 中的一个项目被选中时,这将被调用。
listview.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> parent, View view, int position, long id){
//do stuff here
}
});
当用户使用方向控件导航列表视图时(例如使用 d-pad 导航列表时),应使用选定状态。在这种情况下,listView 将获得焦点状态,其中的 listItems 将获得选中状态。有关状态的更多信息,请参阅此