通过名称方法获取对象无效

时间:2017-05-14 18:46:00

标签: java android string list object

我有一个“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”。此外,撇号的格式不是问题,因为我的名字中有其他带撇号的项目按预期运行。

0 个答案:

没有答案