コード例 #1
0
ファイル: MultiCallback.java プロジェクト: xfei6868/Sketch
 /**
  * Disassociates given {@link View}. If view is not associated, nothing happens.
  *
  * @param view View to be disassociated
  */
 public void removeView(final View view) {
   for (int i = 0; i < mViewList.size(); i++) {
     final ViewWeakReference reference = mViewList.get(i);
     final View item = reference.get();
     if (item == null || item == view) {
       // Always remove null references to reduce Set size
       mViewList.remove(reference);
     }
   }
 }
コード例 #2
0
ファイル: MultiCallback.java プロジェクト: xfei6868/Sketch
 /**
  * Associates given {@link View}. If view has been already added, nothing happens.
  *
  * @param view View to be associated
  */
 public void addView(final View view) {
   for (int i = 0; i < mViewList.size(); i++) {
     final ViewWeakReference reference = mViewList.get(i);
     final View item = reference.get();
     if (item == null) {
       // Always remove null references to reduce Set size
       mViewList.remove(reference);
     }
   }
   mViewList.addIfAbsent(new ViewWeakReference(view));
 }
コード例 #3
0
ファイル: MultiCallback.java プロジェクト: xfei6868/Sketch
 @Override
 public void unscheduleDrawable(final Drawable who, final Runnable what) {
   for (int i = 0; i < mViewList.size(); i++) {
     final ViewWeakReference reference = mViewList.get(i);
     final View view = reference.get();
     if (view != null) {
       view.unscheduleDrawable(who);
     } else {
       // Always remove null references to reduce Set size
       mViewList.remove(reference);
     }
   }
 }