Ok I'm looking right past something here..
Every time I'm in my app and I change activities, logcat reports series of warnings:
02-04 14:42:36.524: WARN/Resources(1832): Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f08002b}
02-04 14:42:36.524: WARN/Resources(1832): Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f08002c}
02-04 14:42:36.524: WARN/Resources(1832): Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f08002d}
Other apps are not showing such warnings. Is this a pre-release/aapt compression thing?
You are using a bool resource where a string is expected.
You can find which resource is being used incorrectly by opening your generated R.java file and searching for the resource IDs from the logcat message:
All three should be from your bool.xml file (the "t=0x12" in the warning message means the resources are TYPE_INT_BOOLEAN).
Then, find where those resource IDs are being used in your project (probably a layout xml, but could be anywhere) and make sure the types match.
Here's an example of a TextView that would generate that log message. If in my res/values/bool.xml I have:
I can incorrectly refer to it from a a layout xml file:
When I run that app, I'll get the warning message since "text" expects a string resource, not a bool (my app appears as expected though since the flag is converted to the string "false").
Check to see if you don't have:-
in your resource file.
I've discovered that this warning is also outputted when specifying a plurals string from a widget that requires parameters.
For instance:
The warning will appear when inflating an activity that contains a widget referencing it:
You no doubt replace the string after inflating the views to set the correct parameters, e.g.:
The obvious solution here is to remove the
android:text
attribute from the layout as it has no purpose.These warnings only occurred when a certain developer option was enabled.
Problem in
android:text="@+id/fooText
Try change in your .xml this:
To this: