猿问

getActionBar()返回NULL

getActionBar()返回NULL

我有个奇怪的问题。我正在用Target 13制作一个应用程序。

在我的主要活动的onCreate方法中,我调用getActionBar()设置我的操作栏。当在Android3.2模拟器上运行时,这很好,但是当使用Android3.0和3.1时getActionBar()方法返回NULL。

我觉得这是非常奇怪的,我看不出有甚麽理由会这样做。这是仿真器的错误,还是我需要做的事情,以确保我的应用程序有一个actionbar?

解决办法:我想我已经找到了解决这个问题的办法。我没有使用setContentView为活动设置布局。相反,我用的是fragmentTransaction.add(android.R.id.content, mFragment, mTag)若要向活动添加片段,请执行以下操作。这在3.2中运行得很好,但是在早期的蜂窝版本中,如果不使用setContentView,则显然没有设置操作栏。onCreate()方法。所以我用setContentView()方法在我的onCreate()方法,只需为其提供包含空FrameLayout的布局。我仍然可以使用fragmentTransaction.add(android.R.id.content, mFragment, mTag)方法以与以前相同的方式进行。

这不是最漂亮的解决办法,但有效。


侃侃无极
浏览 768回答 3
3回答

凤凰求蛊

能用getSupportActionBar()而不是getActionBar()方法。

呼唤远方

如果您正在使用支持库import android.support.v7.app.ActionBarActivity;public class MainActivity extends ActionBarActivity {使用getSupportActionBar()而不是getActionBar()*最新情况:全班ActionBarActivity现在不建议:import android.support.v7.app.ActionBarActivity;我建议使用:import android.support.v7.app.AppCompatActivity
随时随地看视频慕课网APP

相关分类

Android
我要回答