私はいくつかの活動を含むアプリを書いています。それぞれはより多くの断片で構成されています。ほとんどの部分では、私はを別のツールバーに設定したいと思っています ...どこでそれをすればいいですか?私はonCreate()
またはonCreateView()
の中のほとんどすべてをやっていましたが、今私は自分自身に質問しています:onStart()
に入れた方が正しいかもしれませんか? アクティビティとフラグメントライフサイクルの動作を知っていますが、の特定のケースへの回答が見つかりませんでした。 ここで私は断片の一つに使用されるコードは次のとおりです。フラグメントにツールバーを設定する場所は? onCreate()またはonStart()?
// Toolbar setup
setHasOptionsMenu(true);
AppCompatActivity activity = (AppCompatActivity) getActivity();
ActionBar actionBar = activity.getSupportActionBar();
if (actionBar != null)
actionBar.setDisplayHomeAsUpEnabled(true);
Toolbar tb = (Toolbar) activity.findViewById(R.id.toolbar_main);
tb.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
FragmentManager mng = getFragmentManager();
mng.popBackStack();
}
});
if (activity.getSupportActionBar() != null)
activity.getSupportActionBar().setTitle(R.string.toolbar_title);
tb.setVisibility(View.VISIBLE);
はここR.id.toolbar_main
が定義されているactivity_main.xml
ファイルの一部です:
<!--- [...] --->
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_main"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<!--- [...] --->
あなたの答えをありがとう。各フラグメントの特定の変更さえ、相対フラグメントの 'onCreate()'に入るほうが良いでしょうか?私がリンクしたサンプルプロジェクトでは、ツールバーの変更はフラグメント内ではなく、アクティビティ内でのみ行われます。 – Robb1
さて、ツールバーはレイアウトの別のビューです。別のビューでalogをカスタマイズすることになっています。 –