gpt4 book ai didi

java - Android字符串资源无法访问: android. content.res.Resources$NotFoundException:字符串资源ID

转载 作者:行者123 更新时间:2023-12-01 09:11:08 24 4
gpt4 key购买 nike

我尝试将所有字符串放入 strings.xml 文件中。现在,如果我尝试运行它,我会得到以下结果:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: de.hsd.ip2.wgapp, PID: 20467
android.content.res.Resources$NotFoundException: String resource ID #0x7f060061
at android.content.res.Resources.getText(Resources.java:321)
at android.content.res.Resources.getString(Resources.java:407)
at de.hsd.ip2.wgapp.Firebase.DatabaseContact.addRoom(DatabaseContact.java:215)
at de.hsd.ip2.wgapp.DialogfragmentCleaningSchedule$5.onDataChange(DialogfragmentCleaningSchedule.java:242)
at com.google.firebase.database.Query$1.onDataChange(Unknown Source)
at com.google.android.gms.internal.zzajp.zza(Unknown Source)
at com.google.android.gms.internal.zzakp.zzcxi(Unknown Source)
at com.google.android.gms.internal.zzaks$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5294)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)

这是我的 strings.xml:

 <resources>
[...]
<!-- Firebase Strings -->
<string name="fLat">Flat</string>
[...]
</resources>

R 文件具有该字符串的以下条目:

public static final int fLat=0x7f060061;

如果我右键单击任何 R.strings.fLat 并使用“查找用法”,我会在属性值处看到正确的 fLat:

Attribute Value

哦,我尝试获取它的那一点,我还尝试获取另一个字符串,并且该字符串有效,我什至将 flat 重命名为 fLat,但它不起作用..

fReference.child(Resources.getSystem().getString(R.string.fLat)).child(Integer.toString(flatId))
.child(Resources.getSystem().getString(R.string.cleaning))
.child(title)
.setValue(r)

我毫无问题地得到了 R.string.cleaning..

提前感谢您的任何想法:)

最佳答案

您无法使用 Resources.getSystem() 访问您的资源。就像 API 中定义的那样:

返回一个全局共享资源对象,该对象仅提供对系统资源(无应用程序资源)的访问

相反,你应该使用类似的东西

context.getResources().getString(R.string.fLat),

或者如果您在 Activity 中:

getResources().getString(R.string.fLat)

所以你的代码必须是:

fReference.child(getResources().getString(R.string.fLat)).child(Integer.toString(flatId))
.child(getResources().getString(R.string.cleaning))
.child(title)
.setValue(r)

关于java - Android字符串资源无法访问: android. content.res.Resources$NotFoundException:字符串资源ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40917493/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com