为什么android底层将getItemIdAtPosition的返回值设置成long类型?

看到getItemIdAtPosition的返回值竟然是long而不是int,下面的代码虽然能运行且无报错,但总感觉其中的【强制转型int】怪怪的,觉得应该有不合适或者不完美之处!那最合理的代码应该如何写呢?敬请哪位android前辈指点迷津,不胜感激!先行谢过!
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch ((int) parent.getItemIdAtPosition(position))
{
case 0:
Toast.makeText(IndexActivity.this, "点击了0", Toast.LENGTH_SHORT).show();
break;
case 1:
Toast.makeText(IndexActivity.this, "点击了1", Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(IndexActivity.this, "点击了2", Toast.LENGTH_SHORT).show();
break;
case 3:
Toast.makeText(IndexActivity.this, "点击了3", Toast.LENGTH_SHORT).show();
break;
case 4:
Toast.makeText(IndexActivity.this, "点击了4", Toast.LENGTH_SHORT).show();
break;
}
}

隔江千里
浏览 278回答 1
1回答

手掌心

int item= new Long(parent.getItemIdAtPosition(position)).intValue();switch (item){}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Android