此崩溃是随机发生的。在大多数情况下,它工作正常,可以正确找到String资源。我用Google搜索了,似乎我的情况与其他人不同
代码如下
if (mType == Constants.TYPE_POWER) {
mStatus.setText(R.string.power_on);
} else if (mType == Constants.TYPE_USB) {
mStatus.setText(R.string.usb_on);
}
崩溃如下所示
android.content.res.Resources$NotFoundException: String resource ID #0x7f080066
at android.content.res.Resources.getText(Resources.java:252)
at android.widget.TextView.setText(TextView.java:3895)
at com.xmeco.plugseat.widget.PlugSeatCenterView.updateOnStatus(PlugSeatCenterView.java:160)
at com.xmeco.plugseat.widget.PlugSeatCenterView.update(PlugSeatCenterView.java:112)
at com.xmeco.plugseat.widget.PlugSeatCenterView.access$000(PlugSeatCenterView.java:34)
at com.xmeco.plugseat.widget.PlugSeatCenterView$MyHandler.handleMessage(PlugSeatCenterView.java:369)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5049)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
at dalvik.system.NativeStart.main(Native Method)
第160行
mStatus.setText(R.string.power_on);
我不知道为什么会这样。有没有人见过这个?感谢
-------------- UPDATE -------
我的string.xml(它是中文./res/values/strings.xml。我的项目中只有一个strings.xml)
<string name="power_on">插座电源已开启</string>
<string name="power_off">插座电源已关闭</string>
<string name="usb_on">USB插座已开启</string>
<string name="usb_off">USB插座已开启</string>
R.java
public static final int power_off=0x7f080067;
public static final int power_on=0x7f080066;
public static final int pull_down_refresh=0x7f080001;
public static final int refreshing=0x7f080003;
答案 0 :(得分:0)
<强> Resources$NotFoundException: String resource ID #0x7f080066
强>
您必须检查R.java
文件以查看具有字符串资源ID #0x7f080066
的资源,这将解释原因。如果文件中不存在字符串,则检查是否在strings
文件中创建了字符串。如果strings
文件中存在字符串,则清理并重建项目或以其他方式创建字符串。
这应该有所帮助,如果您发现任何困难,请告诉我。
干杯!
答案 1 :(得分:0)
我正在回答这个问题,因为其他答案都是误导。
你在做什么是正确的!您 CAN 直接从strings.xml
分配字符串的资源标识符!
http://developer.android.com/reference/android/widget/TextView.html#setText(int)
您需要确保strings.xml
有
<string name="power_on">Power On</string>
<string name="usb_on">USB On</string>
重建项目后,它应该可以正常工作。希望这有帮助!
答案 2 :(得分:0)
我认为这里的问题可能是因为你只有中文文件夹(values / zh)中的资源R.string.power_on,并且缺少默认文件夹中的power_on资源&#34; values / strings.xml&#34;。
请检查文件夹&#34; values / strings.xml&#34;。
当您支持多种语言并在设备中使用不同语言进行测试时,通常会发生此缺失资源错误。