在使用最新更新时和添加编译com.android.support:appcompat-v7:22.1.0
后在Android Studio中创建新项目时
依赖关系仍然存在这个问题(如果我使用API 21
,则会解决):
异常详细信息java.lang.NoSuchFieldError:在android.support.v7.widget.Toolbar的android.support.v7.internal.widget.ViewUtils.themifyContext(ViewUtils.java:124)中的View_theme。(Toolbar.java:198 )在android.sview.LayoutInflater.rInflate_Original(LayoutInflater.java:806)的java.lang.reflect.Constructor.newInstance(Constructor.java:422)的android.support.v7.widget.Toolbar。(Toolbar.java:192)。 )在android.view.LayoutInflater.rInflate(LayoutInflater.Deava.java:64)的android.view.LayoutInflater.rInflate(LayoutInflater.java:782)android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:809)android.view .LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)在android.view.LayoutInflater.inflate(LayoutInflater.java:782)的android.view.LayoutInflater.inflate(LayoutInflater.java:504)android.view.LayoutInflater.inflate( LayoutInflater.java:414)com.android.layoutlib.bridge.bars.BridgeActionBar。(Br idgeActionBar.java:84)at com.android.layoutlib.bridge.bars.AppCompatActionBar。(AppCompatActionBar.java:56)
当我打开最初使用eclipse创建的项目时,API 22
的呈现在Android Studio上运行良好。
有人可以解释一下吗?
我遇到的另一个问题是,在升级SDK时,它会添加Android M API,它就像Android 5.1.1一样调用API 22,这也会导致渲染问题。 解决方案只是切换回API 22 5.1.1 希望能帮助到你 。
答案 0 :(得分:1)
更新
执行Build>Clean Project
或gradle Sync Project
将解决问题。
旧答案: 根据22.1更改日志(source):
Lollipop通过使用android:theme XML属性添加了在视图级别的视图中覆盖主题的功能 - 对于诸如灯光活动中的暗动作条等事物非常有用。现在,AppCompat 允许您对工具栏使用android:theme (弃用之前使用的 app:theme ),甚至更好地为API上的所有视图带来android:theme支持11个以上的设备。
所以我想如果你将app:theme更改为android:theme它会起作用。
答案 1 :(得分:1)
就我而言,解决方案就像
一样简单@style
添加到父主题<style name="AppTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
从android.support.v7.widget.
Toolbar
从app:theme
移至android:theme
<Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toolbar" android:layout_height="wrap_content" android:layout_width="match_parent" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />