diff --git a/Core/AndroidBinding/bin/androidbinding.jar b/Core/AndroidBinding/bin/androidbinding.jar index 12ececb..5aaac97 100644 Binary files a/Core/AndroidBinding/bin/androidbinding.jar and b/Core/AndroidBinding/bin/androidbinding.jar differ diff --git a/Core/AndroidBinding/src/gueei/binding/utility/WeakList.java b/Core/AndroidBinding/src/gueei/binding/utility/WeakList.java index f0ebfa9..dcb2cdd 100644 --- a/Core/AndroidBinding/src/gueei/binding/utility/WeakList.java +++ b/Core/AndroidBinding/src/gueei/binding/utility/WeakList.java @@ -86,15 +86,14 @@ private void removeReleased() { public Object[] toArray() { synchronized(this){ - removeReleased(); - @SuppressWarnings("unchecked") - WeakReference[] itemArray = items.toArray(new WeakReference[0]); - int len = itemArray.length; - Object[] eArray = new Object[len]; - for(int i=0; i copy = new ArrayList(); + for(WeakReference itemRef : items) { + E item = itemRef.get(); + if (item != null) + copy.add(item); + } + return copy.toArray(); } } @@ -125,12 +124,12 @@ public boolean add(E object) { @SuppressWarnings("unchecked") public E[] toItemArray(E[] arr) { - int size = this.size(); - E[] copy = (E[]) Array.newInstance(arr.getClass().getComponentType(), size); - WeakReference[] itemArray = items.toArray(new WeakReference[0]); - for(int i=0; i copy = new ArrayList(); + for(WeakReference itemRef : items) { + E item = itemRef.get(); + if (item != null) + copy.add(item); + } + return (E[]) copy.toArray(); } } diff --git a/Core/AndroidBinding/src/gueei/binding/viewAttributes/adapterView/SelectedObjectViewAttribute.java b/Core/AndroidBinding/src/gueei/binding/viewAttributes/adapterView/SelectedObjectViewAttribute.java index 4da3a25..eda10d4 100644 --- a/Core/AndroidBinding/src/gueei/binding/viewAttributes/adapterView/SelectedObjectViewAttribute.java +++ b/Core/AndroidBinding/src/gueei/binding/viewAttributes/adapterView/SelectedObjectViewAttribute.java @@ -19,7 +19,7 @@ public SelectedObjectViewAttribute(AdapterView view) { @Override protected void doSetAttributeValue(Object newValue) { - if(getView()==null) return; + if(getView()==null || getView().getAdapter()==null) return; Object selected = getView().getSelectedItem(); Object o=null; diff --git a/android-binding-v0.6-build714.jar b/android-binding-v0.6-build714.jar deleted file mode 100644 index 2f1ea27..0000000 Binary files a/android-binding-v0.6-build714.jar and /dev/null differ diff --git a/android-binding-v0.6-build718.jar b/android-binding-v0.6-build718.jar index cb946b8..017acf6 100644 Binary files a/android-binding-v0.6-build718.jar and b/android-binding-v0.6-build718.jar differ