コード例 #1
0
 /**
  * 松开的时候
  *
  * @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);
 }
コード例 #2
0
 /** 滑动监听 */
 private void onSelectListener() {
   if (onSelectListener == null) return;
   for (ItemObject item : itemList) {
     if (item.isSelected()) {
       onSelectListener.selecting(item.id, item.itemText);
     }
   }
 }
コード例 #3
0
 /**
  * 移动到默认位置
  *
  * @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);
 }
コード例 #4
0
 /**
  * 移动,线程中调用
  *
  * @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);
 }
コード例 #5
0
 private synchronized void drawList(Canvas canvas) {
   if (isClearing) return;
   try {
     for (ItemObject itemObject : itemList) {
       itemObject.drawSelf(canvas);
     }
   } catch (Exception e) {
   }
 }
コード例 #6
0
 /** 初始化数据 */
 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;
 }
コード例 #7
0
 /** 不能为空,必须有选项 */
 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;
     }
   }
 }
コード例 #8
0
 /**
  * 获取返回的内容
  *
  * @return
  */
 public String getSelectedText() {
   for (ItemObject item : itemList) {
     if (item.isSelected()) return item.itemText;
   }
   return "";
 }
コード例 #9
0
 /**
  * 获取返回项
  *
  * @return
  */
 public int getSelected() {
   for (ItemObject item : itemList) {
     if (item.isSelected()) return item.id;
   }
   return -1;
 }
コード例 #10
0
 /**
  * 移动的时候
  *
  * @param move
  */
 private void actionMove(int move) {
   for (ItemObject item : itemList) {
     item.move(move);
   }
   invalidate();
 }