1

目前,我需要访问部分 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 中使用的导航菜单的类似视图引用?

4

1 回答 1

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() 从适配器请求导航列表的视图

于 2013-10-31T18:41:58.397 回答