Hallo zusammen,
ich bin ziemlich neu was die Programmierung von Apps angeht, daher sehe man mir bitte diese Frage nach. Ich habe bereits im Forum danach gesucht, leider jedoch nicht das Passende gefunden. (oder ich war zu "unintelligent" es zu finden...dann bitte Hinweis und Thema schliessen )
Wenn ich es recht verstanden habe, dann gibt es unter Android Studio die Möglichkeit, Schriftart, -größe und -style zu ändern.
Wie funktioniert es jedoch, wenn ich einen völlig neuen Schrifttyp einbinden möchte ? Diesen quasi mit der App auf das dementprechende Gerät mitbringen möchte ?
Bisher habe ich herausfinden können, das die Schrift unter dem Folder "asset" gespeichert werden soll (hab ich gemacht, alles klein geschrieben...), und dann mit in der MainActivity.java mit eingebunden werden soll (im Bereich "onCreate", aber nach "setContent"). Jetzt soll aber die Schrift nur in einem bestimmten Fragment geändert werden...und jetzt ???
Hier das snippet aus der MainActivity an besagter Stelle:
android.widget.TextView textView = (android.widget.TextView) findViewById(R.id.text_clock_clock_local_time);
android.graphics.Typeface typeFace = android.graphics.Typeface.createFromAsset(getAssets(), "dsdigib.ttf");
textView.setTypeface(typeFace);
Die genannte R.id. ist die id vom Fragment, in dem sich der zu verändernde Schriftzug befindet (bzw. die Zahlen der Uhrzeit.)
Jedoch kommt beim Testen folgende Fehlermeldung:
- java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setTypeface(android.graphics.Typeface)' on a null object reference
Ich habe jetzt allerdings noch nicht ganz verstanden, warum diese Fehlermeldung kommt (Problem sitzt wahrscheinlich 60 cm vorm Bildschirm...) ??
Korrigiert mich, wenn ich falsch liege ....Dies ist eine Fehlermeldung, die erst beim Ausführen entstehlt. Sie sagt mir, das eine Ausnahme auftritt, wenn ich auf "nix" referrenziere........habe ich das so richtig verstanden ?
Ist bestimmt was Banales, aber ich bräucht halt einen Denkanstoß und wäre deshalb dankbar, wenn sich jemand dazu äußern könnte.
Danke schon mal Voraus
Gruß Carsten