我面临的问题是getString()不返回id的字符串而是另一个字符串。但首先是我的代码:
public public class ShopFragment extends Fragment {
...
public class ShopManager(){
...
private TableRow[] getRowsFromItems(){
...
TextView headlineName = new TextView(getContext());
headlineName.setText(getString(R.string.shop_headline_name));
TextView headlinePrice = new TextView(getContext());
headlinePrice.setText(getString(R.string.shop_headline_price));
...
}
}
}
的strings.xml:
<resources>
...
<string name="show_leaderboards">Leaderboards</string>
<string name="show_achievements">Achievements</string>
...
<string name="shop_headline_name">Article</string>
<string name="shop_headline_price">Price</string>
...
</resources>
问题是,getString(R.string.shop_headline_name)返回&#34;成就&#34;和getString(R.string.shop_headline_price)返回&#34;排行榜&#34;。我不知道如何解决这个问题,我很困惑为什么会这样。我究竟做错了什么? 谢谢你的回答
答案 0 :(得分:6)
清洁和构建应该做的伎俩。您的R.java包含所有ID,但未正确生成。干净的构建将正确生成它。
答案 1 :(得分:1)
要使用Resource文件夹中的字符串(此处为strings.xml
),请使用以下代码:
headlineName.setText(getResources().getString(R.string.shop_headline_name));
这应该有用。