Android程序在使用getAssets()时崩溃

Android程序在使用getAssets()时崩溃,android,android-activity,nullpointerexception,assets,typeface,Android,Android Activity,Nullpointerexception,Assets,Typeface,我有一个类MyActivity,它扩展了activity。这个类本质上只是为了保存一些我需要的额外方法,它还保存了我将用于整个应用程序的字体。例如,我有一个活动主屏幕,它扩展了我的活动。但是,当我尝试使用以下命令实例化字体时: lavi = Typeface.createFromAsset(getAssets(), "fonts/Lavi.ttf"); 由于getAssets方法中似乎出现空指针,程序崩溃。有人知道为什么会发生这种情况以及如何解决问题吗 编辑: 日志: 03-07 23

我有一个类MyActivity,它扩展了activity。这个类本质上只是为了保存一些我需要的额外方法,它还保存了我将用于整个应用程序的字体。例如,我有一个活动主屏幕,它扩展了我的活动。但是,当我尝试使用以下命令实例化字体时:

    lavi = Typeface.createFromAsset(getAssets(), "fonts/Lavi.ttf");
由于getAssets方法中似乎出现空指针,程序崩溃。有人知道为什么会发生这种情况以及如何解决问题吗

编辑: 日志:

03-07 23:47:16.389:错误/AndroidRuntime9432:致命异常:主 03-07 23:47:16.389:错误/AndroidRuntime9432:java.lang.RuntimeException:无法实例化活动组件信息{android.PhysicsEngine4/android.PhysicsEngine4.HomeScreen}:java.lang.NullPointerException 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at android.app.ActivityThread.performLaunchActivityActivityThread.java:2585 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at android.app.ActivityThread.handleLaunchActivityActivityThread.java:2679 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at android.app.ActivityThread.access$2300ActivityThread.java:125 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at android.app.ActivityThread$H.handleMessageActivityThread.java:2033 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at android.os.Handler.dispatchMessageHandler.java:99 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at android.os.Looper.loopLooper.java:123 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at android.app.ActivityThread.mainActivityThread.java:4627 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at java.lang.reflect.Method.invokenactive方法 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at java.lang.reflect.Method.invokeMethod.java:521 03-07 23:47:16.389:ERROR/AndroidRuntime9432:com.android.internal.os.ZygoteInit$MethodAndArgsCaller.runZygoteInit.java:868 03-07 23:47:16.389:ERROR/AndroidRuntime9432:com.android.internal.os.ZygoteInit.mainZygoteInit.java:626 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at dalvik.system.NativeStart.main本地方法 03-07 23:47:16.389:错误/AndroidRuntime9432:原因:java.lang.NullPointerException 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at android.content.ContextWrapper.GetAssetContextWrapper.java:74 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at android.physicEngine4.MyActivity.MyActivity.java:19 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at-android.physicEngine4.HomeScreen.HomeScreen.java:12 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at java.lang.Class.NewInstanceImpling方法 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at java.lang.Class.newInstanceClass.java:1429 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at android.app.Instrumentation.newActivityInstrumentation.java:1021 03-07 23:47:16.389:ERROR/AndroidRuntime9432:at android.app.ActivityThread.performLaunchActivityActivityThread.java:2577 03-07 23:47:16.389:错误/AndroidRuntime9432:。。。还有11个


请检查字体名称大小写大写字符Lavi.ttf或Lavi.ttf,并尝试在代码中使用与您放入资产文件夹中相同的字符。

我认为您在模块的AndroidManifest.xml文件和项目的AndroidManifest.xml中使用了冲突的Android API。如果文件在模块中,请确保它们保持不变

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mrwujay.cascade"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="23" />
    <application/>
</manifest>

你可以发布你的logcat数据集吗?它将在几分钟内到达。这个lavi=Typeface.createFromAssetthis.getAssets,fonts/lavi.ttf;它是字体文件夹中的Lavi.ttf。谢谢。把这个字体放在你的资产文件夹里,然后运行