/** * 松开的时候 * * @param move */ private void actionUp(int move) { int newMove = 0; if (move > 0) { for (int i = 0; i < itemList.size(); i++) { if (itemList.get(i).isSelected()) { newMove = (int) itemList.get(i).moveToSelected(); if (onSelectListener != null) onSelectListener.endSelect(itemList.get(i).id, itemList.get(i).itemText); break; } } } else { for (int i = itemList.size() - 1; i >= 0; i--) { if (itemList.get(i).isSelected()) { newMove = (int) itemList.get(i).moveToSelected(); if (onSelectListener != null) onSelectListener.endSelect(itemList.get(i).id, itemList.get(i).itemText); break; } } } for (ItemObject item : itemList) { item.newY(move + 0); } slowMove(newMove); Message rMessage = new Message(); rMessage.what = REFRESH_VIEW; handler.sendMessage(rMessage); }
/** 滑动监听 */ private void onSelectListener() { if (onSelectListener == null) return; for (ItemObject item : itemList) { if (item.isSelected()) { onSelectListener.selecting(item.id, item.itemText); } } }
/** * 移动到默认位置 * * @param move */ private void defaultMove(int move) { for (ItemObject item : itemList) { item.newY(move); } Message rMessage = new Message(); rMessage.what = REFRESH_VIEW; handler.sendMessage(rMessage); }
/** * 移动,线程中调用 * * @param move */ private void actionThreadMove(int move) { for (ItemObject item : itemList) { item.move(move); } Message rMessage = new Message(); rMessage.what = REFRESH_VIEW; handler.sendMessage(rMessage); }
private synchronized void drawList(Canvas canvas) { if (isClearing) return; try { for (ItemObject itemObject : itemList) { itemObject.drawSelf(canvas); } } catch (Exception e) { } }
/** 初始化数据 */ private void initData() { isClearing = true; itemList.clear(); for (int i = 0; i < dataList.size(); i++) { ItemObject itmItemObject = new ItemObject(); itmItemObject.id = i; itmItemObject.itemText = dataList.get(i); itmItemObject.x = 0; itmItemObject.y = i * unitHeight; itemList.add(itmItemObject); } isClearing = false; }
/** 不能为空,必须有选项 */ private void noEmpty() { if (!noEmpty) return; for (ItemObject item : itemList) { if (item.isSelected()) return; } int move = (int) itemList.get(0).moveToSelected(); if (move < 0) { defaultMove(move); } else { defaultMove((int) itemList.get(itemList.size() - 1).moveToSelected()); } for (ItemObject item : itemList) { if (item.isSelected()) { if (onSelectListener != null) onSelectListener.endSelect(item.id, item.itemText); break; } } }
/** * 获取返回的内容 * * @return */ public String getSelectedText() { for (ItemObject item : itemList) { if (item.isSelected()) return item.itemText; } return ""; }
/** * 获取返回项 * * @return */ public int getSelected() { for (ItemObject item : itemList) { if (item.isSelected()) return item.id; } return -1; }
/** * 移动的时候 * * @param move */ private void actionMove(int move) { for (ItemObject item : itemList) { item.move(move); } invalidate(); }