0

正如标题所说,我怀疑我的 R.string.app_name 改变了。由于我的通知有时不再更新,但下面的代码确实执行了(我可以在 logcat 中看到它)。那可能吗?

    nm.notify(R.string.app_name, notification);
    Log.i(TAG, "B:showNotification(): id = " + R.string.app_name);
4

1 回答 1

1

不,这是不可能的,因为所有资源都在您的文件(文件夹中)R.*.*中定义为常量。稍后 Android 不会编辑这些内容。R.java/gen/<your-package>

例子:

public final class R {
    public static final class anim {
        public static final int accelerate_interpolator=0x7f040000;
        public static final int activity_slide_in=0x7f040001;
        public static final int activity_slide_out=0x7f040002;
    }
    public static final class attr {
    }
    public static final class drawable {
        public static final int ic_action_search=0x7f020000;
        public static final int ic_launcher=0x7f020001;
    }
    public static final class id {
        public static final int main_layout=0x7f070001;
        public static final int scroll=0x7f070000;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f050000;
    }
    public static final class style {
        public static final int AppTheme=0x7f060000;
    }
}

这是我的一个真实项目中的 R.java 文件。如您所见,每个值都是final int在您开发应用程序时分配的(所有值都使用十六进制分配,因此您必须使用在线转换器来转换实际的 int 值)

于 2012-09-23T06:16:49.173 回答