onlytao. 2016-09-29 18:25 采纳率: 60%
浏览 5264
已采纳

listview的条目点击事件

我想做点击listview的item会跳转到一个新的activity以便显示详细内容。
但是不同的item要给activity不同的返回值,以便activity加载相对应的数据。
我现在是在listview点击事件中,通过switch语句根据item不同位置返回不同的值来做,但是一个APP那么多信息,就如CSDN头条。我不可能写这么多case吧!
有做过,或者想法的还望分享,感激不尽。(学生没积分了,就当当雷锋吧,~~)
或者谈谈其他好的想法?比如做个CSDN头条是怎么通过点击item,然后转到详情页面的

  • 写回答

3条回答 默认 最新

  • 大道至簡 2016-09-30 01:13
    关注

    其实你根本不用在onItemClick里面写那么多switch,只需在里面写一个startActivity跳转到你的详情activity即可,把你要带过去的信息用intent传过去,然后
    在详情页里来通过getIntent来获取里面携带的信息,再根据这个信息去加载你要展示的数据,比如你要展示的详情页数据是通过网络获取的,那么就在intent中把
    把url传过来,然后再详情页去联网拉取数据。如果你要展示的详情页数据是从数据库中获取的,那你就在intent中把item的position传过来,只要position和数据库的键是对应的,那就可以在详情页根据position去获取数据。

    还有一种方式,就是你可以不用把点击事件写在onItemClick里面,而是在listview的atapter的getView方法里,你在inflate完你的item根布局时,直接用根布局的view,setOnclickListener,在这里你的每个item的所有数据都能获取到,你想传什么过去就传什么数据过去,都是用intent携带

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵