2017-09-08 66 views
0

我创建了一个应用程序,其中我使用了android.support.v4.widget.DrawerLayout以及android.support.v7.widget.ToolbarAndroid - ResourceNotFoundException和NumberFormatException

当我在三星平板电脑Neo(Android版本4.2.2)上运行此应用程序时,该应用程序运行完美。

但是,当我在Google Nexus 5上运行相同的应用程序(Android版本6.0.1)时,我得到了ResourceNotFoundException,并且该应用程序在我的Java(活动)文件中的以下代码的起始行上崩溃。

在这条线的应用程序崩溃:setSupportActionBar(topToolBar);

FATAL EXCEPTION: main 
rocess: com.myapp, PID: 11761 
va.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp/com.myapp.MainActivityWithNavigationViewExpandableList}: android.content.res.Resources$NotFoundException: File res/color/abc_hint_foreground_material_dark.xml from color state list resource ID #0x7f0c00ab 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5417) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
aused by: android.content.res.Resources$NotFoundException: File res/color/abc_hint_foreground_material_dark.xml from color state list resource ID #0x7f0c00ab 
    at android.content.res.Resources.loadColorStateListForCookie(Resources.java:2750) 
    at android.content.res.Resources.loadColorStateList(Resources.java:2699) 
    at android.content.res.TypedArray.getColorStateList(TypedArray.java:485) 
    at android.widget.TextView.<init>(TextView.java:746) 
    at android.widget.TextView.<init>(TextView.java:671) 
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:62) 
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:58) 
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:54) 
    at android.support.v7.widget.Toolbar.setTitle(Toolbar.java:756) 
    at android.support.v7.widget.ToolbarWidgetWrapper.setTitleInt(ToolbarWidgetWrapper.java:261) 
    at android.support.v7.widget.ToolbarWidgetWrapper.setWindowTitle(ToolbarWidgetWrapper.java:243) 
    at android.support.v7.app.ToolbarActionBar.<init>(ToolbarActionBar.java:78) 
    at android.support.v7.app.AppCompatDelegateImplV9.setSupportActionBar(AppCompatDelegateImplV9.java:223) 
    at android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:130) 
    at com.myapp.MainActivityWithNavigationViewExpandableList.onCreate(MainActivityWithNavigationViewExpandableList.java:64) 
    at android.app.Activity.performCreate(Activity.java:6251) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
    at android.app.ActivityThread.-wrap11(ActivityThread.java)  
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
    at android.os.Handler.dispatchMessage(Handler.java:102)  
    at android.os.Looper.loop(Looper.java:148)  
    at android.app.ActivityThread.main(ActivityThread.java:5417)  
    at java.lang.reflect.Method.invoke(Native Method)  
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
aused by: java.lang.NumberFormatException: Invalid float: "0.70000005dip" 
    at java.lang.StringToReal.invalidReal(StringToReal.java:63) 
    at java.lang.StringToReal.initialParse(StringToReal.java:164) 
    at java.lang.StringToReal.parseFloat(StringToReal.java:323) 
    at java.lang.Float.parseFloat(Float.java:306) 
    at android.content.res.TypedArray.getFloat(TypedArray.java:396) 
    at android.content.res.ColorStateList.inflate(ColorStateList.java:275) 
    at android.content.res.ColorStateList.createFromXmlInner(ColorStateList.java:222) 
    at android.content.res.ColorStateList.createFromXml(ColorStateList.java:201) 
    at android.content.res.Resources.loadColorStateListForCookie(Resources.java:2746) 
    at android.content.res.Resources.loadColorStateList(Resources.java:2699)  
    at android.content.res.TypedArray.getColorStateList(TypedArray.java:485)  
    at android.widget.TextView.<init>(TextView.java:746)  
    at android.widget.TextView.<init>(TextView.java:671)  
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:62)  
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:58)  
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:54)  
    at android.support.v7.widget.Toolbar.setTitle(Toolbar.java:756)  
    at android.support.v7.widget.ToolbarWidgetWrapper.setTitleInt(ToolbarWidgetWrapper.java:261)  
    at android.support.v7.widget.ToolbarWidgetWrapper.setWindowTitle(ToolbarWidgetWrapper.java:243)  
    at android.support.v7.app.ToolbarActionBar.<init>(ToolbarActionBar.java:78)  
    at android.support.v7.app.AppCompatDelegateImplV9.setSupportActionBar(AppCompatDelegateImplV9.java:223)  
    at android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:130)  
    at com.myapp.MainActivityWithNavigationViewExpandableList.onCreate(MainActivityWithNavigationViewExpandableList.java:64)  
    at android.app.Activity.performCreate(Activity.java:6251)  
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)  
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
    at android.app.ActivityThread.-wrap11(ActivityThread.java)  
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
    at android.os.Handler.dispatchMessage(Handler.java:102)  
    at android.os.Looper.loop(Looper.java:148)  
    at android.app.ActivityThread.main(ActivityThread.java:5417)  
    at java.lang.reflect.Method.invoke(Native Method)  
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  

我搜索其他SO答案为好。

资源 'abc_hint_foreground_material_dark' 是不是我的 '颜色'。此资源应来自我在Android Studio中使用的Android支持库。

回答

0

所以最后我在这个问题上挖了更多,我的嫌疑人是NumberFormatException。我在我的dimens.xml文件中搜索了十进制值并对它们进行了评论。现在它运行良好。基本上,Android无法解析dimens.xml文件中的十进制值。

0

abc_hint_foreground_material_dark是链接到主题的foreground_material_dark,请参阅here

NumberFormatException表示此颜色值无效('无效的浮点数:“0.70000005dip”')。该值不是来自支持库,因此必须由您的资源设置(检查colors.xml和values.xml)。颜色值应该是十六进制整数,不在dp或任何其他单位。有关更多信息,请参阅here

+0

但我在我的项目中找不到“android/platform/frameworks/support/master /./v7/appcompat/res/color/”。我在模块级gradle文件中添加了“compile'c​​om.android.support:appcompat-v7:25.3.1',这应该照顾它,不是吗? –

+0

它将与支持库一起编译,但没关系,你需要检查你的资源是否存在'foreground_material_dark' –

+0

我在我的Android Studio项目的'res/color /'目录下手动添加了'foreground_material_dar.xml'文件。但它仍然崩溃,并提供相同的错误。 –