Android参考资料为什么java认为字符串是整数?

Android参考资料为什么java认为字符串是整数?,android,xml,warnings,Android,Xml,Warnings,对于我的每个XML首选项,我都得到以下警告,我知道java认为我给出的默认值是整数,它需要字符串。但是如何放置文字字符串? 我可以接受这个警告,因为我知道它是无害的,但如果有一个简单的方法来纠正它,我会的 05-16 16:28:03.210:I/ActivityManager(68):启动活动:Intent{cmp=com.delta.app/.Preferences} 05-16 16:28:03.750:W/Resources(1869):转换为字符串:TypedValue{t=0x10/

对于我的每个XML首选项,我都得到以下警告
,我知道java认为我给出的默认值是整数,它需要字符串。但是如何放置文字字符串?
我可以接受这个警告,因为我知道它是无害的,但如果有一个简单的方法来纠正它,我会的

05-16 16:28:03.210:I/ActivityManager(68):启动活动:Intent{cmp=com.delta.app/.Preferences}
05-16 16:28:03.750:W/Resources(1869):转换为字符串:TypedValue{t=0x10/d=0x1388 a=-1}
05-16 16:28:03.870:W/Resources(1869):转换为字符串:TypedValue{t=0x10/d=0x64 a=-1}
05-16 16:28:03.901:W/Resources(1869):转换为字符串:TypedValue{t=0x10/d=0xa=-1}
05-16 16:28:03.970:W/Resources(1869):转换为字符串:TypedValue{t=0x10/d=0x0a=-1}
05-16 16:28:03.970:W/Resources(1869):转换为字符串:TypedValue{t=0x10/d=0x2A=-1}
以下是XML:


string.xml

5000

ans在defaultvalue中设置。您可以为其他人设置defaultvalue

<EditTextPreference
    android:defaultValue="@string/five_thousand"
    android:key="@string/MAX_MESSAGES"
    android:summary="@string/MAX_MESSAGES_desc"
    android:title="@string/MAX_MESSAGES_title" />

事实上,您可以尝试这样做,只需在值后添加一个空格:

<EditTextPreference
    android:defaultValue="5000 "

双引号引用每个defaultValue为我消除了警告,但它产生了其他问题:

<EditTextPreference
    android:defaultValue="'5000'"
    android:key="@string/MAX_MESSAGES"
    android:summary="@string/MAX_MESSAGES_desc"
    android:title="@string/MAX_MESSAGES_title" />

虽然defaultValue是XML的字符串,但外部引号似乎在发送到java之前就被去掉了

但是,当您尝试在Android应用程序中编辑首选项时,该框现在包含字符串“5000”,而不是数字5000,这可能会导致其他问题


如果我们必须容忍不必要的警告或无效字段,我认为前者是唯一的实际选项。

string.xml
中也添加此值,然后设置defaultvalue?@samirmangroliya,我想这会起作用。我期待一些更简单的解决方案,比如使用“@5000”或类似的东西来代替“5000”。@samirmangroliya如果您将您的评论作为答案发布,我可以检查它。@ilimambo这里有我的答案和说明……谢谢,但是如果您查看我发布的XML,您可以看到有许多不同的默认值,我无法将同一个值分配给所有人。还有一个问题是如何放置文字字符串?literal,而不是referenced.create in string.xml for each,但不知道最后一个是什么?literal=>“5000”vs.referenced=>“@string/five_000”::换句话说,这不是我问题的答案。