我有一个“Item”对象,其定义如下:
Item odysseusBow = new Item(getString(R.string.odysseus_bow_name), R.drawable.odysseus_bow, 2100, 'P', 'I',
0, 0, 0.0, 0.0, 0, 0, 0,
0, 0, 0.4, 0,
0, 0, 0,
getString(R.string.odysseus_bow_passive));
其中“R.string.odysseus_bow_name”=“Odysseus \'Bow”。第一个参数是项目名称,可以使用.getName()返回。
此项目被添加到名为“items”的项目的静态列表中。
然后我使用方法按名称获取项目:
public Item getItemByName(String name) {
Item x = new Item();
for(int i = 0; i < items.size(); i++) {
if (items.get(i).getName().equals(name))
x = items.get(i);
}
return x;
}
此方法适用于列表中的每个项目,但此特定项目除外;该项始终为空。
有谁知道为什么会这样?谢谢!
编辑:更相关的代码:
final Item item = getItemByName(holder.item1Name.getText().toString());
TextView itemName = (TextView) mView.findViewById(R.id.item_header_name);
“itemName”的文字是“Odysseus'Bow”。此外,撇号的格式不是问题,因为我的名字中有其他带撇号的项目按预期运行。