No known package when getting value for resource number 0xfe080009

来源:互联网 发布:美工的电脑为什么 编辑:程序博客网 时间:2024/05/20 06:07

今天用android开发时,在写将txt文件保存到SD卡时,总是报下面的错误,上网查资料也没有找到解决的方法,然后自己找错误的原因和解决方法,详细如下:

报错的消息:

W/InputManagerService(101): Got RemoteException sending setActive(false) notification to pid 3664 uid 10034

W/ResourceType(3831): No known package when getting value for resource number 0xfe080009

 找到原因是以下红色的代码:

Toast.makeText(getApplicationContext(), R.string.showSDmessage+R.string.fail, Toast.LENGTH_LONG).show();

以下的是R文件的部分代码:

public static final class string {
        public static final int app_name=0x7f040001;
        public static final int fail=0x7f040003;
        public static final int showSDmessage=0x7f040006;
        public static final int showcontenttxt=0x7f040004;
        public static final int shownametxt=0x7f040000;
        public static final int showsavebtn=0x7f040005;
        public static final int success=0x7f040002;
    }

 这里我们也看到了,showSDmessage(=0x7f040006)+fail(=0x7f040003)恰好就等于警告消息中的:number 0xfe080009的值,而number 0xfe080009  的值当然是不能在 resource 中获得值,所以后面就会出现错误。

解决方法当然就是把 R.string.showSDmessage+R.string.fail 改为R.string.showSDmessage。

从中,我们也看到了 R.string.showSDmessage+R.string.fail 是把它的值加起来,而不是把映射的字符串组合起来成新的字符串。