目前,我需要访问部分 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 中使用的导航菜单类似的 View 引用?
最佳答案
可以将 View 存储在适配器中,然后从那里拉取它。
@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() 从适配器请求导航列表的 View
关于Android:获取对 ActionBar 导航的 View 引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19692355/