listview itemclickListener小记

今天该同事之前写的一个程序,点击listview的每个条目播放响应视频。但是发现老师播放第一条,无法理解,后来发现adapter的实现类里面,有个方法getItemId(int position)

之前同事直接就返回1,

@Overridepublic long getItemId(int position) {return 1;}

而我在itemclickListener的实现如下:

listView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {if (id == -1)return;DownloadItem item = (DownloadItem) list.get((int) id);if (item != null) {//……..}}});

这边的onItemClick方法中的id参数就是adapter实现类里面getItemId(int position)返回的值。这样我总算搞明白了。

然后我将adapter实现的这个方法修改了一下,,

@Overridepublic long getItemId(int position) {return position;}终于OK了,如果不明白id和position的区别的请看Android ListView的OnItemClickListener详解

记忆的屏障,曾经心动的声音已渐渐远去。

listview itemclickListener小记

相关文章:

你感兴趣的文章:

标签云: