在根视图中找不到动作栏(Sherlock)

时间:2013-08-20 19:49:51

标签: android actionbarsherlock android-actionbar spinner android-spinner

我正在尝试找到我的活动的Action Bar的微调器,因此我可以有选择地显示和隐藏它(setNavigationMode不能用于我的目的)。我尝试了this code,但操作栏似乎不在我的活动中(这是SherlockFragmentActivity)根视图的扩展。

private View findActionBarSpinner() {
    View rootView = findViewById(android.R.id.content).getRootView();
    List<View> spinners = traverseViewChildren( (ViewGroup) rootView );
    return findListNavigationSpinner(spinners); // implement according to your layouts
}

我为rootView获取的是一个FrameLayout,其中包含我的布局文件中定义的RelativeLayout(仅包含其中的元素)。我没有看到任何看起来像动作栏或微调器的东西,并且确实足够的traverseViewChildren(在上面的链接中)返回一个空列表。

我也本着this answerView rootView = getWindow().getDecorView().findViewById(android.R.id.content).getRootView();的精神尝试过。结果是一样的。

我正在findActionBarSpinner内拨打onOptionsItemSelected。 (虽然我无法访问它,但操作栏完全可见并且此时正常工作,因此我怀疑这是在生命周期的错误部分尝试访问它的问题。)

有什么想法吗?

0 个答案:

没有答案