目前,我需要访问ActionBar的部分内容,以便在适当的位置附加上下文帮助气泡。对于菜单项而言,这似乎相当简单,因为menuItem.getActionView可用。
但是,我不确定如何获得ActionBar中导航列表的类似访问权限。不是在菜单xml文件中包含项目,而是添加导航选项和监听器:
getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
getActivity().getActionBar().setListNavigationCallbacks(mNavigationListAdapter, this);
使用菜单项,以下工作:
MenuItem menuItem = menu.findItem(R.id.my_nifty_menu_item);
View viewToAttachHelpBubbleTo = menuItem.getActionView();
如何获得ActionBar中使用的导航菜单的类似视图参考?
答案 0 :(得分:1)
可以将视图存储在适配器中,然后从那里拉出来。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Stuff happens...
mLastParentView = parent;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
// Stuff happens...
mLastParentView = parent;
}
public View getLastParentView() {
return mLastParentView;
}
然后
getActivity().getActionBar().setListNavigationCallbacks(mNavigationListAdapter, this);
可以通过getLastParentView()
从适配器请求导航列表的视图