双向绑定未将标题设置为工具栏

时间:2018-11-03 10:53:52

标签: android android-databinding

我无法使用Android中的数据绑定为工具栏设置标题。这是我的实现:

布局:

<com.google.android.material.appbar.AppBarLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <androidx.appcompat.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:minHeight="?attr/actionBarSize"
                    android:theme="@style/Toolbar" />
            </com.google.android.material.appbar.AppBarLayout>

工具栏设置代码:

private void setUpToolbar() {
        setSupportActionBar(activityCupBinding.toolbar);
        if (getSupportActionBar()!= null) {
            activityCupBinding.toolbar.setTitle(getString(R.string.addCup));
        }
    }

当我调试上面的代码时,它告诉我 activityCupBinding.toolbar.setTitle(getString(R.string.addCup)) 未定义。

这是工具栏使用的样式

<style name="Toolbar" parent="ThemeOverlay.MaterialComponents.Dark.ActionBar">
        <item name="android:textSize">16sp</item>
        <item name="android:fontFamily">@font/merriweather</item>
        <item name="android:textAppearance">?attr/textAppearanceHeadline6</item>
    </style>

1 个答案:

答案 0 :(得分:1)

确保您的AppTheme继承自

parent="Theme.MaterialComponents.Dark"

OR

parent="Theme.MaterialComponents.Light.NoActionBar"