8

我试图设置一个自定义标题栏包括微调器对象,但每次它给我一个名为“你不能将自定义标题与其他标题功能结合起来”的异常。我逐个站点搜索以找到解决方案,并且我按照网上的描述正确地做了所有事情,但异常从未消失。有一个非常愚蠢的问题留在我的脑海中,它可能与android 3.0有关吗?我正在使用 3.0 版(蜂窝)进行开发。我不知道我该怎么办。

谢谢adap,我在你的指导下成功了。这是一个带有微调器示例的简单操作栏。可能对面临类似问题的人有所帮助。

    super.onCreate(savedInstanceState);
    setContentView(R.layout.screens);
    ActionBar bar = getActionBar();
    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
    bar.setListNavigationCallbacks(new SpinnerAdapter(this, android.R.layout.simple_dropdown_item_1line, EczaneMgr.getInstance(this).getEczaneListAsSpinner()),
            new OnNavigationListener() {
          @Override
          public boolean onNavigationItemSelected(int position, long itemId) {
            Log.e("item position",String.valueOf(position));
            return true;
            //do whatever want to do...
          }
        }
    );
4

1 回答 1

7

Android 3.0+ 上使用的 Action Bar 被认为是一项标题功能,如果您使用的是 Holo 主题之一,您的 Activity 将默认获得一个。(Theme.Holo、Theme.Holo.Light 等) Theme.Holo 是具有targetSdkVersion="11"或更高版本的应用程序的默认设置。较旧的“自定义标题栏”功能无法与操作栏结合使用,但您可以使用操作栏来代替。

使用操作栏的列表导航模式,设置使用ActionBar#setNavigationModeActionBar#setListNavigationCallbacks指定将提供微调器视图的适配器。

于 2011-08-27T18:13:06.540 回答