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