2017-07-08 3 views
0

ツールバーのタイトルを設定する際に問題が発生しています。例えばツールバーのタイトルがonCreate()で機能しないように設定する

私のアプリのためのシンプルなのOnCreate()メソッド「予測」

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ButterKnife.bind(this); 
    setSupportActionBar(_toolbar); 
    setTitle("ABCDEFG"); 
} 

アプリを実行すると、ツールバーが私のアプリの名前ではなく、「ABCDEFG」を持っています。私は

..タイトルを設定する前に

Observable.just("ABCDEFG") 
      .delay(200,TimeUnit.MILLISECONDS) 
      .observeOn(AndroidSchedulers.mainThread()) 
      .subscribe(this::setTitle); 
を200ミリ秒の遅延を置けば、それは何もしに来るとき、「ABCDEFG」

が、これは同じであるしかし、私のツールバーのタイトルが正しく表示され

ツールバーでは、実際に何が起こっているのか誰にでも分かりますか?遅れを取らずにこれを解決する方法は?あなたの助けのための

ここに私のツールバーのXMLが..です

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appBar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:fitsSystemWindows="true" 
    android:theme="@style/AppTheme.AppBarOverlay"> 


    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?android:attr/actionBarSize" 
     app:layout_collapseMode="pin" 
     app:layout_scrollFlags="scroll" 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 


</android.support.design.widget.AppBarLayout> 

ありがとう!

EDITはマシュマロが述べたように、私は)getSupportActionBar(に_toolbar.setTitleを()に変更

+1

'getSupportActionBar()。のsetTitle( "マイタイトル")'あなたはこのを試してみましたを使用することですか? – maRShmallow

+0

ありがとう、それは実際に働いた!しかし、もし私が仰角を設定するために同じことをしたら、成功はありませんか?例:getSupportActionBar()。setElevation(10) – Tmarsh2

+0

Lollipop以上でテストしていますか? – maRShmallow

答えて

0

のsetTitle()単に(タイトル)_toolbar.setTitleを呼び出すを言及するのを忘れてしまった。のsetTitle()

0

あなたはsetSupportActionBar(Toolbar)を呼び出した場合アクションバーがタイトルの操作を担当するため、getSupportActionBar().setTitle("My Title");に電話してカスタムタイトルを設定する必要があります。

またtoolbar.setTitle("My title");は、以下のような問題を引き起こす可能性があり、このリンクをチェック: - In android app Toolbar.setTitle method has no effect – application name is shown as title

とツールバーは、アクションバーの一般的な形式です。

レイアウトウィジェットとして複数のツールバーを使用できますが、アクションはできません。

したがって、より良いアプローチはgetSupportActionBar().setTitle("My Title");

関連する問題