1

J'ai une classe MyActivity qui étend l'activité. Cette classe est essentiellement présente uniquement pour contenir quelques méthodes supplémentaires dont j'ai besoin et elle contient également la police que j'utiliserai pour l'application entière. Ainsi, par exemple, j'ai une activité "HomeScreen" qui étend MyActivity. Cependant, lorsque je tente de instancier la police de caractères en utilisant:Le programme Android se bloque lors de l'utilisation de getAssets()

lavi = Typeface.createFromAsset(getAssets(), "fonts/Lavi.ttf"); 

le programme se bloque en raison d'un nullpointer qui semble se produire à la méthode getAssets(). Est-ce que quelqu'un sait pourquoi cela se passe et comment résoudre le problème?

EDIT: Logcat:

7/3 23: 47: 16,389: ERREUR/AndroidRuntime (9432): Exception irrécupérable: principal 7/3 23: 47: 16,389: ERREUR/AndroidRuntime (9432): java.lang.RuntimeException: Impossible d'instancier l'activité ComponentInfo {android.PhysicsEngine4/android.PhysicsEngine4.HomeScreen}: java.lang.NullPointerException 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): sur android.app. ActivityThread.performLaunchActivity (ActivityThread.java:2585) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à l'adresse android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2679) 03-07 23:47: 16.389: ERREUR/AndroidRuntime (9432): à android.app.ActivityThread.access $ 2300 (ActivityThread.java:125) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à android.app.ActivityThread $ H.handleMessage (ActivityThread.java:2033) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à l'adresse android.os.Handler.dispatchMessage (Handler.java:99) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): at android.os.Looper.loop (Looper.java:123) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à l'adresse android.app.ActivityThread.main (ActivityThread.java:4627) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à java.lang.reflect.Method.invokeNative (méthode native) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à java.lang.reflect .Method.invoke (Method.java:521) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à l'adresse com.android.internal.os .ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:868) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à l'adresse com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à dalvik.system.NativeStart.main (méthode native) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): Causé par: java. lang.NullPointerException 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à l'adresse android.content.ContextWrapper.getAssets (ContextWrapper.java:74) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à android.PhysicsEngine4.MyActivity. (MyActivity.java:19) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à android.PhysicsEngine4.HomeScreen. (HomeScreen.java:12) 03- 07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à java.lang.Class.newInstanceImpl (Nat ive Method) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): à l'adresse java.lang.Class.newInstance (Class.java:1429) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): at android.app.Instrumentation.newActivity (Instrumentation.java:1021) 03-07 23: 47: 16.389: ERROR/AndroidRuntime (9432): at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2577) 03-07 23: 47: 16,389: eRREUR/AndroidRuntime (9432): ... 11 plus

+0

Pouvez-vous s'il vous plaît poster vos données logcat –

+0

sûr, il sera là dans une minute –

+0

Essayez cette lavi = Typeface.createFromAsset (this.getAssets(), "polices/Lavi.ttf"); – Want2bExpert

Répondre

0

HI,

plz vérifier cas nom de la police (caractères majuscules) Lavi.ttf ou lavi.ttf et essayer de utilisez le même code que celui que vous avez placé dans le dossier assets.

+0

c'est Lavi.ttf dans le dossier de polices. Merci quand même. –

+0

mettre cette police à l'intérieur de votre dossier d'actifs ur et exécutez – Mathew

0

Je pense que vous utilisez l'API Android en conflit dans le fichier AndroidManifest.xml du module et AndroidManifest du projet.xml. assurez-vous qu'ils restent les mêmes si vous avez le fichier dans les modules.

<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> 
Questions connexes