我开发了一个电视项目,在Horizontal页面中使用TwoWayGridView,但我发现了这一点。mTwoWayGridView.setOnItemSelectedListener(this);TwoWayGridView onItemSelected在TwoWayGrid View首先获得焦点时不起作用。
@Override
public void onItemSelected(TwoWayAdapterView<?> parent, View view,
int position, long id) {
LogUtil.i(TAG, "position:" + position); //not print when the foces first
}
看起来适配器视图没有第一次调用onItemSelected方法,因为适配器中的第一个项已经被选中,所以在方法更改之前不会触发该方法。
我解决了这个问题,在适配器视图上设置了一个OnFocusChangeListener,并在视图具有焦点并且选择了第一个项目时管理我自己。
我希望这能有所帮助。