我遇到了一个奇怪的错误。 我有一个名称的arraylist,并使用.indexOf(name)从列表中查找特定名称的索引。我已经打印出列表和名称,所以我知道列表中存在名称。 indexOf仍然返回-1。我已经在名称上尝试了trim(),结果相同。 我想知道equals()方法是否存在问题,但我没有在我的代码中覆盖它,因为我正在比较字符串不应该超级方法工作吗?
继承我的代码:
favouritesListView.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3)
{
int page = 0;
List<String> nameList = new ArrayList<String>(FavouritesActivity.this.gamesList.getNamesArrayList());
String name = (String) FavouritesActivity.this.adapter.getItem(position);
page = nameList.indexOf(name);
System.out.println("page index = " + page);
if(page==-1)
{
Toast.makeText(FavouritesActivity.this, "page not correctly found" , Toast.LENGTH_SHORT).show();
}
Intent i = new Intent(FavouritesActivity.this, BookActivity.class);
i.putExtra("page", page);
startActivity(i);
}
});
提前致谢