解决方案 »

  1.   

    这很明显,debug这个方法,看这个方法还没执行完的时候,是否就有actionbar了,如果有了,证明之前哪个地方调用了生成actionbar
      

  2.   

    我只有一个activity,对actionbar的操作都在这里完成。是否getActionBar()返回的时候就说明已经加载完了默认的style?如果是,我该怎么解决?
      

  3.   

    我只有一个activity,对actionbar的操作都在这里完成。是否getActionBar()返回的时候就说明已经加载完了默认的style?如果是,我该怎么解决?你先debug卡看看,再分析
      

  4.   

    哈哈。。我之前也遇到过这个问题...后来APP正好需要一个启动界面,加上那个界面后居然这个问题就不出现了,到现在没搞懂为什么
      

  5.   

    debug了,在getActionBar()的时候就已经加载了原来的style了,那现在该怎么解决?
      

  6.   

    默认actionbar应该是Theme造成的,而且因为是在manifest弄的,所以加载的会比第一个activity的oncreate执行还快1、暂时想到的解决方法可能是自定义整个actionbar,不再使用getActionBar()获取了,
    主题选用不显示actionbar的<item name="android:windowActionBar">false</item>2、在manifest的Theme里选择NoActionBar的主题
    然后在需要ActionBar的activity的第一句使用setTheme设置一个有ActionBar的主题,这样即不会显示ActionBar也不会getActionBar()为null3、……等高手解答
      

  7.   


    谢谢你的回复。
    关于方案1:
    <item name="android:windowActionBar">false</item>虽然不会显示actionbar,但是会多出title,建议搭配<item name="android:windowNoTitle">true</item>或直接使用NoActionBar的style。
    目前demo有用到splitActionBarWhenNarrow,如果使用NoActionBar的style的话,actionMode的menu不显示在底部,而且需要对actionMode进行overlay。关于方案2:
    这样可以解决没错,但是activity上面还是会先白再显示自己的actionbar,这样体验不是很好。
      

  8.   

    1是我写少了……意思是用自定义actionbar
    2的话因为manifest Theme加载应该是在activity oncreate之前……所以暂时想不到好方法了
    那下空白,应该是activity本身都没加载进来产生的