为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

隔江千里 2022-04-21 16:11:07
看到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;}}
查看完整描述

1 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

int item= new Long(parent.getItemIdAtPosition(position)).intValue();
switch (item){
}

查看完整回答
反对 回复 2022-04-24
  • 1 回答
  • 0 关注
  • 233 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号