android-使用AppCompat获取NullPointerException

android-使用AppCompat获取NullPointerException,第1张

概述我正在尝试使用AppCompatv21在5.0之前的版本中实现“材料设计”,但是当我尝试使用新的“工具栏”时却遇到了空指针异常.我按照该指南实施了http://android-developers.blogspot.com.es/2014/10/appcompat-v21-material-design-for-pre.html.但是我找不到导致NPE的错误.app.gradle

我正在尝试使用AppCompat v21在5.0之前的版本中实现“材料设计”,但是当我尝试使用新的“工具栏”时却遇到了空指针异常.我按照该指南实施了http://android-developers.blogspot.com.es/2014/10/appcompat-v21-material-design-for-pre.html.但是我找不到导致NPE的错误.

app.gradle

apply plugin: 'com.androID.application'androID {compileSdkVersion 21buildToolsversion "21.1.2"defaultConfig {    applicationID "com.example.alejandrohall.myapplication"    minSdkVersion 14    targetSdkVersion 21    versionCode 1    versionname "1.0"}buildTypes {    release {        MinifyEnabled false        proguardfiles getDefaultProguardfile('proguard-androID.txt'), 'proguard- rules.pro'    }}}dependencIEs {compile filetree(dir: 'libs', include: ['*.jar'])compile 'com.androID.support:appcompat-v7:21.0.3'}

toolbar.xml

<androID.support.v7.Widget.Toolbar xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:ID="@+ID/my_awesome_toolbar"    androID:layout_height="wrap_content"    androID:layout_wIDth="match_parent"    androID:background="?attr/colorPrimary"/>

styles.xml

<resources><!-- Base application theme. --><style name="Apptheme" parent="theme.AppCompat.light.NoActionbar">    <!-- Customize your theme here. -->    <item name="colorPrimary">@color/material_blue_grey_950</item>    <item name="windowActionModeOverlay">true</item></style></resources>

activity_mail.xml

<relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"xmlns:tools="http://schemas.androID.com/tools" androID:layout_wIDth="match_parent"androID:layout_height="match_parent" tools:context=".MainActivity"><TextVIEw    androID:layout_wIDth="wrap_content"    androID:layout_height="wrap_content"    androID:textAppearance="?androID:attr/textAppearanceLarge"    androID:text="HolA MUNDO"    androID:ID="@+ID/textVIEw"    androID:layout_centerVertical="true"    androID:layout_centerHorizontal="true" /></relativeLayout>

MainActivity.java
    包com.example.alejandrohall.myapplication;

import androID.support.v7.app.ActionBaractivity;import androID.os.Bundle;import androID.support.v7.Widget.Toolbar;public class MainActivity extends ActionBaractivity {    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        Toolbar toolbar = (Toolbar) findVIEwByID(R.ID.my_awesome_toolbar);        setSupportActionbar(toolbar);    }}

错误

Process: com.example.alejandrohall.myapplication, PID: 6461        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.alejandrohall.myapplication/com.example.alejandrohall.myapplication.MainActivity}: java.lang.NullPointerException        at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2198)        at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257)        at androID.app.ActivityThread.access0(ActivityThread.java:139)        at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)        at androID.os.Handler.dispatchMessage(Handler.java:102)        at androID.os.Looper.loop(Looper.java:136)        at androID.app.ActivityThread.main(ActivityThread.java:5086)        at java.lang.reflect.Method.invokeNative(Native Method)        at java.lang.reflect.Method.invoke(Method.java:515)        at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)        at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:601)        at dalvik.system.NativeStart.main(Native Method)        Caused by: java.lang.NullPointerException        at androID.support.v7.internal.Widget.ToolbarWidgetWrapper.<init>(ToolbarWidgetWrapper.java:95)        at androID.support.v7.internal.Widget.ToolbarWidgetWrapper.<init>(ToolbarWidgetWrapper.java:88)        at androID.support.v7.internal.app.Toolbaractionbar.<init>(Toolbaractionbar.java:84)        at androID.support.v7.app.ActionBaractivityDelegateBase.setSupportActionbar(ActionBaractivityDelegateBase.java:175)        at androID.support.v7.app.ActionBaractivity.setSupportActionbar(ActionBaractivity.java:92)        at com.example.alejandrohall.myapplication.MainActivity.onCreate(MainActivity.java:17)        at androID.app.Activity.performCreate(Activity.java:5248)        at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)        at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2162)                    at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257)                    at androID.app.ActivityThread.access0(ActivityThread.java:139)                    at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)                    at androID.os.Handler.dispatchMessage(Handler.java:102)                    at androID.os.Looper.loop(Looper.java:136)                    at androID.app.ActivityThread.main(ActivityThread.java:5086)                    at java.lang.reflect.Method.invokeNative(Native Method)                    at java.lang.reflect.Method.invoke(Method.java:515)                    at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)                    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:601)                    at dalvik.system.NativeStart.main(Native Method)

解决方法:

您的toolbar.xml不包含在activity_main.xml中,因此findVIEwByID(R.ID.my_awesome_toolbar)返回null-您需要将Toolbar直接包括在每个活动的布局中.

总结

以上是内存溢出为你收集整理的android-使用AppCompat获取NullPointerException全部内容,希望文章能够帮你解决android-使用AppCompat获取NullPointerException所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1093753.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存