Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Theme.AppCompat.Light.DarkActionBar时,android.app.ActionBar.setCustomView(int)上的NP_Android_Android Actionbar - Fatal编程技术网

使用Theme.AppCompat.Light.DarkActionBar时,android.app.ActionBar.setCustomView(int)上的NP

使用Theme.AppCompat.Light.DarkActionBar时,android.app.ActionBar.setCustomView(int)上的NP,android,android-actionbar,Android,Android Actionbar,我已经将我的eclipse项目导入Android studio,一切都很好。我有定制的Actionbar 这是这样的:一旦创建了一个活动,我就有以下内容 getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); getActionBar().setCustomView(R.layout.bartitle); TextView textViewTitle = (TextView) findViewById(R.id.ti

我已经将我的eclipse项目导入Android studio,一切都很好。我有定制的Actionbar

这是这样的:一旦创建了一个活动,我就有以下内容

 getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
 getActionBar().setCustomView(R.layout.bartitle);
 TextView textViewTitle = (TextView) findViewById(R.id.titleEDIT);
 textViewTitle.setText(res.getString(R.string.title));
 setContentView(R.layout.register);
现在我也为v21添加了样式

版本21的Style.xml具有以下特性:

<resources>
    <style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="android:windowActionBar">true</item>
    </style>
</resources>
我一直在努力解决这个问题。尝试SO或Google提供的所有解决方案,但无法解决问题。因此,我想就此提出一个问题

谢谢

使用getSupportActionBar()而不是getActionBar(),因为您使用的是AppCompat库。如果您使用的是v7 appcompat库,则您的活动应改为扩展AppCompatActivity而不是activity

支持库的22.1.0版不推荐使用ActionBarActivity,因此应使用AppCompatActivity,而不是用户在评论中建议的ActionBarActivity


希望这能解决您的问题:)

使用
ActionBarActivity
@MD无法使用getSupportActionBar()。。。表示无法解析该方法?@MD ActionBarActivity在支持库的修订版22.1.0中被弃用,因此应使用AppCompatActivity代替ActionBarActivity。@Alonnair Oohhh thanx。我不知道。@Alonnair:是的。将其更改为AppCompatActivity,但现在我无法使用getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY\u SHOW\u CUSTOM);对将其更改为AppCompatActivity,但现在我无法使用getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY\u SHOW\u CUSTOM);你说不能使用是什么意思?太好了。。让它工作起来。如何在FragmentActivity和FragmentActivity上应用相同的方法?您可以在FragmentActivity上应用相同的方法。ActionBarActivity和AppCompatActivity扩展自FragmentActivity,因此您可以在此处调用getSupportActionBar。FragmentActivity也已弃用,因此请避免使用弃用的内容。相反,请使用AppCompatActivity类,它是FragmentActivity的子类,因此允许您在API级别7及更高级别上使用片段API
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.flm.sPar/com.flm.sPar.Register}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setCustomView(int)' on a null object reference
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
        at android.app.ActivityThread.access$800(ActivityThread.java:151)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5254)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setCustomView(int)' on a null object reference
        at com.flm.sPar.Register.onCreate(Register.java:71)
        at android.app.Activity.performCreate(Activity.java:5990)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
            at android.app.ActivityThread.access$800(ActivityThread.java:151)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5254)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)