安卓setOnItemClickListener中关于Cursor的一个小问题

  在之前拟定的业务需求中,涉及到获取调用listview中点击项数据的问题。先前的解决方法为:从头开始遍历获取,如果存在很多数据,会将每一条都处理一遍。

while(!cursor.isAfterLast()){
Cursor cursor = select();
cursor.moveToFirst();
/*
* 业务代码在这里
*/
 cursor.moveToNext();
}

  思考了一下,setOnItemClickListener方法各个参数的含义:

AdapterView<?> parent, View view, int position, long id

  listView中的每一项都可以通过position及id定位,想到了应该得到修改的地方,

cursor.moveToFirst();
应该改为
cursor.moveToPosition(position);

根据position获取当前点击项,而不是从第一条数据开始遍历,相应的,cursor.moveToNext也需要移除。

问题解决,总结一下:花费了许多时间在无用的地方,专注一下,断一次点,查一下问题,稍稍思考一下,自己存在的问题还是太多了,不怪总有人说自己不成熟,确实如此。谨此,铭记。

猜你喜欢

转载自blog.csdn.net/qq_38977538/article/details/83537704