如果是双击,1秒内连续点击判断为双击,需要判断时间和两次双击的ID是否相同。
// 双击事件记录最近一次点击的ID
private static Long LastClickId;
//双击事件记录最近一次点击的时间
private static long LastClickTime = 0;
protected void onListItemClick(ListView l, View v, int position, long id){
super.onListItemClick(l,v,position,id);
// 如果是双击,1秒内连续点击判断为双击
if((LastClickId != null)&&(Math.abs(LastClickTime-System.currentTimeMillis()) < 1000)){
LastClickId = null;
LastClickTime = 0;
Cursor c = m_DiaryCursor;
c.moveToPosition(position);
System.out.println("选中"+position);
Intent i = new Intent(this, DiaryEditActivity.class);
System.out.println("数据库ID"+id);
i.putExtra(DiaryDbAdapter.KEY_ROWID, id);
i.putExtra(DiaryDbAdapter.KEY_TITLE, c.getString(c.getColumnIndexOrThrow(DiaryDbAdapter.KEY_TITLE)));
i.putExtra(DiaryDbAdapter.KEY_BODY, c.getString(c.getColumnIndexOrThrow(DiaryDbAdapter.KEY_BODY)));
startActivityIfNeeded(i, ACTIVITY_EDIT);
}else{
LastClickId = id;
LastClickTime = System.currentTimeMillis();
}
}