我试过答案 here ,但它对我不起作用。我使用 xml 作为背景并出现异常 - Resources$NotFoundException: File res/drawable/list_selector_white.xml from drawable resource ID。该应用程序在启动时崩溃。
奇怪的是它在运行 Lollypop 的设备上运行良好。在 OS <= kitkat="">=>
在 fragment 中膨胀的 XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/list_selector_white" >
....Other views here....
list_selector_white.xml
<!-- Selector style for listrow -->
<item android:drawable="@drawable/gradient_bg_white" android:state_pressed="false" android:state_selected="false"/>
<item android:drawable="@drawable/gradient_bg_hover" android:state_pressed="true"/>
<item android:drawable="@drawable/gradient_bg_hover" android:state_pressed="false" android:state_selected="true"/>
gradient_bg_hover
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- Gradient BgColor for listrow Selected -->
<gradient
android:startColor="?attr/listViewRow"
android:centerColor="?attr/listViewRow"
android:endColor="?attr/listViewRow"
android:angle="270" />
</shape>
日志:
E/AndroidRuntime( 3879): android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
E/AndroidRuntime( 3879): at android.view.LayoutInflater.createView(LayoutInflater.java:620)
E/AndroidRuntime( 3879): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
E/AndroidRuntime( 3879): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
E/AndroidRuntime( 3879): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
E/AndroidRuntime( 3879): at android.view.LayoutInflater.inflate(LayoutInflater.java:469)
E/AndroidRuntime( 3879): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
E/AndroidRuntime( 3879): at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
E/AndroidRuntime( 3879): at jsoup.LazyAdapterDoubleList.getView(LazyAdapterDoubleList.java:53)
E/AndroidRuntime( 3879): at android.widget.AbsListView.obtainView(AbsListView.java:2263)
E/AndroidRuntime( 3879): at android.widget.ListView.measureHeightOfChildren(ListView.java:1263)
E/AndroidRuntime( 3879): at android.widget.ListView.onMeasure(ListView.java:1175)
E/AndroidRuntime( 3879): at android.view.View.measure(View.java:16497)
E/AndroidRuntime( 3879): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719)
E/AndroidRuntime( 3879): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455)
E/AndroidRuntime( 3879): at android.view.View.measure(View.java:16497)
E/AndroidRuntime( 3879): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719)
E/AndroidRuntime( 3879): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455)
E/AndroidRuntime( 3879): at android.view.View.measure(View.java:16497)
E/AndroidRuntime( 3879): at android.support.v4.widget.SwipeRefreshLayout.onMeasure(SwipeRefreshLayout.java:577)
E/AndroidRuntime( 3879): at android.view.View.measure(View.java:16497)
E/AndroidRuntime( 3879): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
E/AndroidRuntime( 3879): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
E/AndroidRuntime( 3879): at android.view.View.measure(View.java:16497)
E/AndroidRuntime( 3879): at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:868)
E/AndroidRuntime( 3879): at android.view.View.measure(View.java:16497)
E/AndroidRuntime( 3879): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
E/AndroidRuntime( 3879): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
E/AndroidRuntime( 3879): at android.view.View.measure(View.java:16497)
E/AndroidRuntime( 3879): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
E/AndroidRuntime( 3879): at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:327)
E/AndroidRuntime( 3879): at android.view.View.measure(View.java:16497)
E/AndroidRuntime( 3879): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
E/AndroidRuntime( 3879): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
E/AndroidRuntime( 3879): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2291)
E/AndroidRuntime( 3879): at android.view.View.measure(View.java:16497)
E/AndroidRuntime( 3879): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1916)
E/AndroidRuntime( 3879): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1113)
E/AndroidRuntime( 3879): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1295)
E/AndroidRuntime( 3879): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)
E/AndroidRuntime( 3879): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5670)
E/AndroidRuntime( 3879): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
E/AndroidRuntime( 3879): at android.view.Choreographer.doCallbacks(Choreographer.java:574)
E/AndroidRuntime( 3879): at android.view.Choreographer.doFrame(Choreographer.java:544)
E/AndroidRuntime( 3879): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
E/AndroidRuntime( 3879): at android.os.Handler.handleCallback(Handler.java:733)
E/AndroidRuntime( 3879): at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 3879): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 3879): at android.app.ActivityThread.main(ActivityThread.java:5017)
E/AndroidRuntime( 3879): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 3879): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
E/AndroidRuntime( 3879): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
E/AndroidRuntime( 3879): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime( 3879): at java.lang.reflect.Constructor.newInstance(Native Method)
E/AndroidRuntime( 3879): at android.view.LayoutInflater.createView(LayoutInflater.java:594)
E/AndroidRuntime( 3879): ... 50 more
E/AndroidRuntime( 3879): Caused by: android.content.res.Resources$NotFoundException: File res/drawable/list_selector_white.xml from drawable resource ID #0x7f02006a
E/AndroidRuntime( 3879): at android.content.res.Resources.loadDrawable(Resources.java:2096)
E/AndroidRuntime( 3879): at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
E/AndroidRuntime( 3879): at android.view.View.<init>(View.jav
W/ActivityManager( 589): Force finishing activity free.programming.programming/.MainActivity
W/ActivityManager( 589): Activity pause timeout for ActivityRecord{655864a8 u0 free.programming.programming/.MainActivity t49 f}
关于如何修复它的任何线索?
[编辑]
我怀疑在 drawable 中使用 attr 会导致问题。最初,我使用的是简单的 @color/... 并且一切正常。
最佳答案
我遇到了同样的问题。
问题是您在可绘制对象中使用 ?attr/ 。
用 @color 或 @drawable 替换它,它应该会消失。
不幸的是,这确实意味着您必须为每个主题 bundle 一个可绘制对象,它在 Lollipop 中要干净得多。
查看 this commit我在我正在从事的项目中,正是为了解决这个问题。
您可以创建一个 drawable-v21 文件夹并在其下放置一个 drawable,希望能支持 v21+,但我选择了另一条路线并 bundle 不同的颜色资源(你可以在主分支中看到的东西,我有蓝绿色和默认绿色)。
关于android - KitKat specific- android.content.res.Resources$NotFoundException : File res/drawable/list_selector_white. 来自可绘制资源 ID 的 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31146340/
当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub
我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
因此,当我遵循MichaelHartl的RubyonRails教程时,我注意到在用户表中,我们为:email属性添加了一个唯一索引,以提高find的效率方法,因此它不会逐行搜索。到目前为止,我们一直在根据情况使用find_by_email和find_by_id进行搜索。然而,我们从未为:id属性设置索引。:id是否自动索引,因为它在默认情况下是唯一的并且本质上是顺序的?或者情况并非如此,我应该为:id搜索添加索引吗? 最佳答案 大多数数据库(包括sqlite,这是RoR中的默认数据库)会自动索引主键,对于RailsMigration
我正在尝试将一个资源属性的默认值设置为另一个属性的值。我正在为我正在构建的tomcat说明书定义一个资源,其中包含以下定义。我想要可以独立设置的“名称”和“服务名称”属性。当未设置服务名称时,我希望它默认为为“名称”提供的任何内容。以下不符合我的预期:attribute:name,:kind_of=>String,:required=>true,:name_attribute=>trueattribute:service_name,:kind_of=>String,:default=>:name注意第二行末尾的“:default=>:name”。当我在Recipe的新block中引用我
capybara找不到在我的cucumber测试中用它的id标记。当我save_and_open_page时,我能够看到该元素.但我无法通过has_css?找到它或find:pry(#)>page.html.scan(/notice_sent/).count=>1pry(#)>page.html.scan(/id=\"notice_sent\"/).count=>1pry(#)>page.find('#notice_sent')Capybara::ElementNotFound:Unabletofindcss"#notice_sent"from/Users/me/.gem/ruby/2
目前我正在使用这个正则表达式从YoutubeURL中提取视频ID:url.match(/v=([^&]*)/)[1]我怎样才能改变它,以便它也可以从这个没有v参数的YoutubeURL获取视频ID:http://www.youtube.com/user/SHAYTARDS#p/u/9/Xc81AajGUMU感谢阅读。编辑:我正在使用ruby1.8.7 最佳答案 对于Ruby1.8.7,这就可以了。url_1='http://www.youtube.com/watch?v=8WVTOUh53QY&feature=feedf'url
在开发模式下:nil.id=>"Calledidfornil,whichwouldmistakenlybe4--ifyoureallywantedtheidofnil,useobject_id"在生产模式中:nil.id=>4为什么? 最佳答案 在您的环境配置中查找包含以下内容的行:#Logerrormessageswhenyouaccidentallycallmethodsonnil.config.whiny_nils=true#orfalseinproduction.rb这是为了防止您在开发模式下调用nil上的方法。我猜他们在生
如何在rakedb:migrate:status中删除带有“**NOFILE**”的迁移ID列表?例如:StatusMigrationIDMigrationName--------------------------------------------------up20131017204224Createusersup20131218005823**********NOFILE**********up20131218011334**********NOFILE**********我不明白为什么当我自己手动删除它时它仍然保留旧的迁移文件,因为我正在研究迁移的工作原理。这是为了记录吗?但
我有一组名为Tasks和Posts的资源,它们之间存在has_and_belongs_to_many(HABTM)关系。还有一个连接它们的值的连接表。create_table'posts_tasks',:id=>falsedo|t|t.column:post_id,:integert.column:task_id,:integerend所以我的问题是如何检查特定任务的ID是否存在于从@post.tasks创建的数组中?irb(main):011:0>@post=Post.find(1)=>#@post.tasks=>[#,#]所以我的问题是,@post.tasks中是否存在"@task