У меня есть Activity на основе прокручиваемого шаблона Activity. AppBar работает должным образом при прокрутке, но не отображает его содержимое (навигация вверх, меню параметров, заголовок).

Следующие ниже фрагменты представляют собой минимальные отрывки.
ContactEditActivity:
class ContactEditActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_contact_edit)
setSupportActionBar(toolbar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
val binding = DataBindingUtil.setContentView<ActivityContactEditBinding>(
this,
R.layout.activity_contact_edit
)
binding.contact = contact
binding.executePendingBindings()
}
override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) {
R.id.action_settings -> {
true
}
R.id.action_save -> {
true
}
else -> {
super.onOptionsItemSelected(item)
}
}
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.menu_contact_edit, menu)
return true
}
}
activity_contact_edit.xml:
<?xml version = "1.0" encoding = "utf-8"?>
<layout xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
xmlns:tools = "http://schemas.android.com/tools"
android:fitsSystemWindows = "true"
tools:context = "(...).activities.ContactEditActivity">
<data>
<variable
name = "contact"
type = "(...).models.Contact" />
</data>
<android.support.design.widget.CoordinatorLayout
android:layout_width = "match_parent"
android:layout_height = "match_parent">
<android.support.design.widget.AppBarLayout
android:id = "@+id/app_bar"
android:layout_width = "match_parent"
android:layout_height = "@dimen/app_bar_height"
android:fitsSystemWindows = "true"
android:theme = "@style/AppTheme.AppBarOverlay">
<android.support.design.widget.CollapsingToolbarLayout
android:id = "@+id/toolbar_layout"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:fitsSystemWindows = "true"
app:contentScrim = "?attr/colorPrimary"
app:layout_scrollFlags = "scroll|exitUntilCollapsed"
app:toolbarId = "@+id/toolbar">
<android.support.v7.widget.Toolbar
android:id = "@+id/toolbar"
android:layout_width = "match_parent"
android:layout_height = "?attr/actionBarSize"
app:layout_collapseMode = "pin"
app:popupTheme = "@style/AppTheme.PopupOverlay" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<include layout = "@layout/content_contact_edit"
app:contact = "@ = {contact}"/>
</android.support.design.widget.CoordinatorLayout>
</layout>
menu_contact_edit.xml:
<menu xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
xmlns:tools = "http://schemas.android.com/tools"
tools:context = ".activities.ContactEditActivity">
<item
android:id = "@+id/action_save"
android:title = "@string/action_save"
app:showAsAction = "ifRoom"/>
<item
android:id = "@+id/action_settings"
android:orderInCategory = "100"
android:title = "@string/action_settings"
app:showAsAction = "never" />
</menu>
AndroidManifest.xml (отрывок):
<activity
android:name = ".activities.ContactEditActivity"
android:label = "@string/title_activity_contact_edit"
android:parentActivityName = ".activities.ContactActivity"
android:theme = "@style/AppTheme.NoActionBar"
android:windowSoftInputMode = "adjustPan">
<meta-data
android:name = "android.support.PARENT_ACTIVITY"
android:value = "(...).activities.ContactActivity" />
</activity>
Я перепроверил свой код в Руководстве разработчика на AppBars, создал новое приложение с «Прокруткой» и сравнил код. Но я не мог найти никаких зацепок.
Как было указано в комментариях, проблема, похоже, связана с привязкой. Без объявления переменной в файле макета и соответствующего раздела привязки в ContactEditActivity панель приложения отображается должным образом.
Я добавил раздел привязки к минимальной версии ContactEditActivity.
Нет, не знал. Я не мог представить себе, как это могло помешать.
@muminers Похоже, ты что-то понял. Проблема начинается, когда я добавляю привязку. Я обновлю свой вопрос соответственно.
Извините, не видел ваш предыдущий комментарий - да, привязка данных вызывает некоторые проблемы, связанные с макетом координатора на некоторых устройствах. Не знаю почему, я просто отказался от его использования с более сложными представлениями. По ненадежности это уже не кажется разумным решением.
Это не очень приятно ... Но все равно спасибо!
Просто вопрос - пробовали ли вы запустить приложение без привязки данных в макете активности?