我有一个多语言的android应用程序。我放了这个
<string name="FOOD_SUGGESTED">Top Ristoranti</string>
在res / values-it / strings.xml中
还有这个
<string name="FOOD_SUGGESTED">Top Restaurants</string>
在res / values-en / strings.xml中。
在Java中,我将此值与
一起使用String suggested = getResources().getString(R.string.FOOD_SUGGESTED);
referenceTextView.setText("" + related.size() + " " + suggested);
有时是Android Vitals出现此错误
android.content.res.Resources$NotFoundException:
at android.content.res.Resources.getText (Resources.java:1178)
at android.content.res.Resources.getString (Resources.java:1224)
at com.a70division.blink.CardViews.GenericCardView.<init>(GenericCardView.java:78)
at com.a70division.blink.Card.getViewForCard (Card.java:190)
at com.a70division.blink.Card.<init> (Card.java:92)
at com.a70division.blink.Fragments.DeckFragment.createCardView (DeckFragment.java:251)
at com.a70division.blink.Fragments.DeckFragment.nextCard (DeckFragment.java:354)
at com.a70division.blink.Fragments.DeckFragment.access$700 (DeckFragment.java:53)
at com.a70division.blink.Fragments.DeckFragment$11.run (DeckFragment.java:429)
我不知道哪里出了错
有人可以帮助我吗?
答案 0 :(得分:1)
请确保您还在根路径res/values/strings.xml
下添加了该资源。如果您不这样做,那么如果设备的语言不是英语(en)或意大利语(it),则应用程序将崩溃。
我也建议您以小写形式定义资源ID(仅用于名称约定):
<string name="food_suggested">Top Restaurants</string>
最后,确保您的字符串资源包含在<resources> </resources>
标记之间,这是强制性的:
<resources>
<string name="food_suggested">Top Restaurants</string>
</resources>
答案 1 :(得分:-1)
请将您的字符串名称从大写字母更改为小写字母。
喜欢
<string name="food_suggested">Top Ristoranti</string>
<string name="food_suggested">Top Restaurants</string>
String suggested = getResources().getString(R.string.food_suggested);
请尝试这种方式,让我们知道您的反馈。希望这会工作。