У меня есть BaseActivity, которая наследуется от всех других дочерних действий, и в этой BaseActivity я установил панель инструментов:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(getLayoutId())
if (toolbar != null) {
setSupportActionBar(toolbar)
supportActionBar?.apply {
setDisplayShowTitleEnabled(getActivityTitle() != null)
setDisplayHomeAsUpEnabled(getActivityTitle() != null)
getActivityTitle()?.let {
this.title = getActivityTitle()
}
}
}
}
open fun getActivityTitle(): String? = null
А на ChildActitivy у меня есть следующий код:
override fun getActivityTitle(): String? {
return getString(R.string.gen_everyone_is_watching)
}
Вот макет:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<ImageView
android:id="@+id/toolbar_logo"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/ic_logo" />
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
Проблема в том, что я не могу отобразить заголовок, когда я хочу сделать это в дочернем действии, и единственный найденный мной способ отобразить заголовок - это не устанавливать панель инструментов на BaseActivity. Сталкивались ли вы с чем-нибудь похожим?