0

Ich versuche, benutzerdefinierte Schriftart festzulegen, aber immer Fehler textview ist Null. Hier ist mein Code:Aktionsbalkentitel mit benutzerdefinierter Schriftart kann nicht festgelegt werden

int titleId = getResources().getIdentifier("action_bar_title", "id", "android"); 
TextView yourTextView = (TextView) findViewById(titleId); 
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/barrett_normal.ttf"); 

Erste folgenden Fehler:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setTypeface(android.graphics.Typeface)' on a null object reference 

Das ist mein onCreate() Methode:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     try { 
      getSupportActionBar().setDisplayShowTitleEnabled(false); 
      getSupportActionBar().setDisplayShowCustomEnabled(true); 
      int titleId = getResources().getIdentifier("action_bar_title", "id", "android"); 
      tv = (TextView) findViewById(titleId); 
      tf = Typeface.createFromAsset(getAssets(), "fonts/barrett_normal.ttf"); 
      tv.setTypeface(tf); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     setActionBarTitle(this.getTitle()); 
    } 
+0

zeigen Sie Ihre oncreate Code und xml –

+0

Werfen Sie einen Blick hier: http://stackoverflow.com/questions/8607707/how-to-set-a-custom-font-in-the-actionbar-title –

+0

@Aditya Ich habe nur so viel Code in 'onCreate()' Methode geschrieben –

Antwort

1

Versuchen Sie, diese Art und Weise

SpannableString s = new SpannableString("My Title"); 
s.setSpan(new TypefaceSpan(this, "MyTypeface.otf"), 0, s.length(), 
     Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

// Update the action bar title with the TypefaceSpan instance 
ActionBar actionBar = getActionBar(); 
actionBar.setTitle(s); 

prüfen here für TypefaceSpan

+0

Was ist 'txtvw'? –

+0

Die ID der Textansicht, die Sie in Ihrem XML haben..können Sie Ihre XML zeigen? –

+0

Ich erhalte 'ID' wie folgt:' int titleId = getResources(). GetIdentifier ("action_bar_title", "id", "android"); ' –

Verwandte Themen