升级到 appcompat v24 后找不到与给定名称匹配的资源
No resource found that matches the given name after upgrading to appcompat v24
我在 app:toolbarId
上定义折叠工具栏时在 Android 上遇到此错误。如下所示,工具栏已定义。我注意到我可以通过完全省略工具栏的 id 来解决它(然后它会使用它遇到的第一个工具栏)但我无法弄清楚为什么它停止工作以及是否有任何我遗漏的......知道吗?
<android.support.design.widget.CollapsingToolbarLayout
app:toolbarId="@id/toolbar"
... >
<ImageView
... />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
... />
</android.support.design.widget.CollapsingToolbarLayout>
原来这个问题是前向参考。不是 v23/v24 问题,而是我同时进行的一些其他更改的结果......最初这个布局 XML 不是布局 XMLs(按字母顺序排列)列表中的第一个所以有一个以前的布局 XML(其他一些 activity)定义了一个 @id/toolbar
。这足以让 gradle 接受此 activity 中的 app:toolbarId="@id/toolbar"
作为有效参考。幸运的是(或不是...)在 运行 时间它仍然引用了正确的工具栏 - 这个 activity 的 @id/toolbar
- 所以我没有注意到我的(前向引用)错误。
修复很简单 - 将“+”移动到 app;toolbarId
中的(第一个)引用(这是我一开始就应该做的)。见下文:
<android.support.design.widget.CollapsingToolbarLayout
app:toolbarId="@+id/toolbar"
... >
<ImageView
... />
<android.support.v7.widget.Toolbar
android:id="@id/toolbar"
... />
</android.support.design.widget.CollapsingToolbarLayout>
我在 app:toolbarId
上定义折叠工具栏时在 Android 上遇到此错误。如下所示,工具栏已定义。我注意到我可以通过完全省略工具栏的 id 来解决它(然后它会使用它遇到的第一个工具栏)但我无法弄清楚为什么它停止工作以及是否有任何我遗漏的......知道吗?
<android.support.design.widget.CollapsingToolbarLayout
app:toolbarId="@id/toolbar"
... >
<ImageView
... />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
... />
</android.support.design.widget.CollapsingToolbarLayout>
原来这个问题是前向参考。不是 v23/v24 问题,而是我同时进行的一些其他更改的结果......最初这个布局 XML 不是布局 XMLs(按字母顺序排列)列表中的第一个所以有一个以前的布局 XML(其他一些 activity)定义了一个 @id/toolbar
。这足以让 gradle 接受此 activity 中的 app:toolbarId="@id/toolbar"
作为有效参考。幸运的是(或不是...)在 运行 时间它仍然引用了正确的工具栏 - 这个 activity 的 @id/toolbar
- 所以我没有注意到我的(前向引用)错误。
修复很简单 - 将“+”移动到 app;toolbarId
中的(第一个)引用(这是我一开始就应该做的)。见下文:
<android.support.design.widget.CollapsingToolbarLayout
app:toolbarId="@+id/toolbar"
... >
<ImageView
... />
<android.support.v7.widget.Toolbar
android:id="@id/toolbar"
... />
</android.support.design.widget.CollapsingToolbarLayout>