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 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?